Referencia Javascript vs enlace ... ¿cuál es la diferencia?
Recientemente leí lo siguiente en You Don't Know JS de Kyle Simpson: ES6
"[Los módulos ES6 exportan] enlaces reales (casi como punteros) a los identificadores en la definición del módulo interno".
Mi confusión es cómo estos enlaces difieren de las referencias ...
Entiendo que unreferencia en JS solo es aplicable a tipos no primitivos (como objetos), por lo que dado
let object1 = {a: 1};
let object2 = object1;
object1
yobject2
ahora se refieren (ambos son referencias a) el mismo objeto.
Si agrego una propiedad aobject2
, También estoy agregando una propiedad aobject1
object2.b = 2;
console.log(object1.b); // 2
Y puedo ver que unUnión puede aplicarse tanto a tipos primitivos como a tipos no primitivos
// foo.js
export let count = 1;
export function incrementCount() { count++; }
// bar.js
import {count, incrementCount} from foo;
console.log(count); // 1
incrementCount();
console.log(count); // 2
¿Es un enlace como una referencia, excepto que los valores primitivos también pueden compartir un enlace (mientras que las referencias están limitadas a tipos no primitivos)?
Siento que me falta algo aquí ...