Сообщение от jaroslav.tavgen
|
Ибо указатель - это адрес.
|
Ты путаешь физический адрес с типом данных(указатель) и как следствие в голове у тебя каша не верных выводов.
В С С++ указатель это базовый тип данных описанный в спецификации который хранит в себе физический адрес.
Указатель javaScript больше всего похож на ссылочный тип данных в других языках т.е. имея ссылку на объект мы можем манипулировать им.
В JS нет такого типа данных как указать нет линейной адресации нет адресной арифметики.
Доступ к данным(адресация) в низкоуровневых языках реализуется с помощью линейно адресуемой физической памяти. в JavaScript используются высокоуровневая абстракция в виде двух древовидных структур(
глобальная область видимости и текущий scope) которые позволяют манипулировать данными через имена переменных.
Каждое имя переменой или свойство объекта(что в принципе одно и то же) хранит в себе ссылку(указатель) на данные.
Любые операции кроме ( = && === ) будут работать со значением полученным по этой ссылке.
Присваивание для сложных типов всегда копирует ссылку на объект.
Присваивание для примитивных типов создает новый объект и копирует значение полученное по ссылке.
т.е. для доступа к данным (адресации)
в Ассемблере используется физический адрес - "030BC123"
в JavaScript имена разделенные точками - "wondow.document.body"
т.е. в каком то смысле "id1" в JS это то же самое что и "030BC123" в Assembler.