Ссылка на Javascript и привязка ... какая разница?
Недавно я прочитал следующее в книге Кайла Симпсона «Ты не знаешь»: ES6
«[Модули ES6 экспортируют] фактические привязки (почти как указатели) к идентификаторам в определении вашего внутреннего модуля».
Моя путаница заключается в том, как эти привязки отличаются от ссылок ...
Я понимаю чтоссылка в JS применимо только к непримитивным типам (например, к объектам), так что
let object1 = {a: 1};
let object2 = object1;
object1
а такжеobject2
теперь ссылаются (оба они ссылаются) на один и тот же объект.
Если я добавлю свойство кobject2
Я также добавляю свойствоobject1
object2.b = 2;
console.log(object1.b); // 2
И я вижу, чтопереплет может применяться как к примитивным типам, так и к не примитивным типам
// 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
Является ли привязка похожей на ссылку, за исключением того, что примитивные значения также могут иметь общую привязку (в то время как ссылки ограничены не примитивными типами)?
Я чувствую, что я что-то здесь упускаю ...