HowProgrammingWorks/Book

Глава: 2-2-Types.md. Не полное, или противоречащее спецификации определение: Для JavaScript это [ссылка] подтипы Object, Function, Array.

demimurych opened this issue · 0 comments

Ссылка (Reference) указывает на значение ссылочного типа, т.е. не скалярное значение.
Для JavaScript это подтипы Object, Function, Array.

В JavaScript все идентификаторы являются ссылками Reference.
Если говорить в рамках терминологии книги, то В JavaScript не существует механизмов, которые бы адресовали и тем более возвращали скалярные типы.
Это подтверждается как официальной спецификацией,
так и архитектурой языка, в котором все Primitive Value имутабельны.
В следствии чего, конструкции вида:

var param1=1.2;
var param2=1.2;

приводят к созданию двух идентификаторов содержащих одну и туже ссылку, ведущую на структуру данных описывающих Primitive Value 1.2. Что совершенно логично, по причине того, что нет никакого смысла множить Primitive Value в условиях, когда их невозможно изменить в силу архитектуры языка.

Пруфы: