last day (16 days later) » 

5:09 PM
а?
 
Привет
 
привет)
 
Я по поводу массивов
Ты мне отвечал
Нет, не совсем так, есть особенности. Хотя с формальной точки зрения более-менее верно, реализация не такая или не такая в большинстве случаев.
Можешь немного пояснить
Я так понял, что все таки массив это в js и сеть ассоциативный массив
Единственное
это ряд дополнительных свойств и методов типа length
и что внутренний метод [[DefineOwnProperty]] иначе работает
 
@Topik массив в js в большинстве случаев представлен непрерывной областью памяти, но при необходимости может превращаться в ассоциативный массив из-за некоторых действий над ним или по другим соображениям браузера
массив относится к так называемым special layout objects и имеет сосбсвенное внутреннее устройство
со свойствами у него особая фича - пересчёт length при записи по несуществующему ключи - defineProperty такое не покрывает, но в ES6 появился Proxy, который уже способен это перехватить
 
@Qwertiy special layout objects - это из спецификации?
 
5:23 PM
@Topik, вот интересное видео - советую посмотреть: youtube.com/watch?v=ZAJmJmKWNPw
 
@Qwertiy спс, посмотрю
 
@Topik про массивы около 19:50
 
6:07 PM
@Topik хм.. похоже, что нет - не могу там найти
 
6:26 PM
@Qwertiy про special layout objects интересно, но не нашел
@Qwertiy Читаю Фланагана и там написано, что массив это объект. А так как объект в js это ассоциативный массив, то вероятно и массив это тоже самое. Но точного ответа так не нашел.
 
 
4 hours later…
10:32 PM
@Topik видео посмотрел?
@Topik это особые встроенные объекты, которые чем-то отличаются от обыкновенных. примеры: массив, функция, XMLHttpRequest - их конструкторы создают объект особого вида, который мы не можем создать другим способом из скрипта. именно из-за этого была вывернута наизнанку цепочка создания инстансов ES6-классов и объект создаётся не вызовом конструктора, а самым внутренним конструктором, что позволяет от таких классов наследоваться
@Topik youtu.be/ZAJmJmKWNPw?t=1273 - вот вместе с меткой времени прям
 

  last day (16 days later) »