Description
Ссылка (Reference) указывает на значение ссылочного типа, т.е. не скалярное значение.
Для JavaScript это подтипы Object, Function, Array.
В JavaScript все идентификаторы являются ссылками Reference.
Если говорить в рамках терминологии книги, то В JavaScript не существует механизмов, которые бы адресовали и тем более возвращали скалярные типы.
Это подтверждается как официальной спецификацией,
так и архитектурой языка, в котором все Primitive Value имутабельны.
В следствии чего, конструкции вида:
var param1=1.2;
var param2=1.2;
приводят к созданию двух идентификаторов содержащих одну и туже ссылку, ведущую на структуру данных описывающих Primitive Value 1.2. Что совершенно логично, по причине того, что нет никакого смысла множить Primitive Value в условиях, когда их невозможно изменить в силу архитектуры языка.
Пруфы:
- ECMAScript® 2023 Language 13.1 Identifiers
- ECMAScript® 2023 Language 13.1.3 Runtime Semantics: Evaluation
- ECMAScript® 2023 Language Specification 9.4.2 ResolveBinding
- ECMAScript® 2023 Language Specification 9.1.2.1 GetIdentifierReference
- ECMAScript® 2023 Language Specification 6.2.4 The Reference Record Specification Type
- ECMAScript® 2023 Language Specification 6.2.4.5 GetValue ( V )
- ECMAScript® 2023 Language 6.2.4.6 PutValue ( V, W )