Size: a a a

JavaScript Noobs — сообщество новичков

2020 July 14

D

Danila in JavaScript Noobs — сообщество новичков
Передача объектов по ссылке - не эксклюзивная фича жс
источник

А

Алмаз ® in JavaScript Noobs — сообщество новичков
Danila
Никак не связано ни с каким порогом входа
Это ваше мнение
источник

D

Danila in JavaScript Noobs — сообщество новичков
Алмаз ®
Это ваше мнение
Передача объектов по ссылке повышает порог входа, а не понижает его. И это свойство объектов в языке с самой первой версии, а const появился только в 2015
источник

D

Danila in JavaScript Noobs — сообщество новичков
Это не мнение, это факты
источник

MR

Mike Rize in JavaScript Noobs — сообщество новичков
10 лучших инструментов для HTML-верстки
https://habr.com/ru/company/productstar/blog/510716/
источник

D

Danila in JavaScript Noobs — сообщество новичков
Ставлю класс
источник

OL

Oleksandr Lukhanin in JavaScript Noobs — сообщество новичков
Danila
Передача объектов по ссылке повышает порог входа, а не понижает его. И это свойство объектов в языке с самой первой версии, а const появился только в 2015
но при этом конст позволяет менять внутренности объекта
изначатьно он был пустой, через время там може появитсья 100500 ключей
правильно?
источник

MR

Mike Rize in JavaScript Noobs — сообщество новичков
Danila
Ставлю класс
И шлепаю форму
источник

MR

Mike Rize in JavaScript Noobs — сообщество новичков
Oleksandr Lukhanin
но при этом конст позволяет менять внутренности объекта
изначатьно он был пустой, через время там може появитсья 100500 ключей
правильно?
Да
источник

D

Danila in JavaScript Noobs — сообщество новичков
Oleksandr Lukhanin
но при этом конст позволяет менять внутренности объекта
изначатьно он был пустой, через время там може появитсья 100500 ключей
правильно?
Правильно. Когда ты "кладёшь объект в переменную",ты кладёшь туда не сам объект, а ссылку на него. По законам работы const эту ссылку ты изменить не сможешь (не сможешь сослаться на другой объект, например), при этом сам объект может меняться как угодно
источник

А

Алмаз ® in JavaScript Noobs — сообщество новичков
Oleksandr Lukhanin
но при этом конст позволяет менять внутренности объекта
изначатьно он был пустой, через время там може появитсья 100500 ключей
правильно?
Даже назначая const вы не можете быть уверены что этот объект не измениться.
источник

D

Danila in JavaScript Noobs — сообщество новичков
Более того

const a = {test:1}
const b = a;
const c = b;

И в А и в B и в  С теперь ссылки на ОДИН И ТОТ ЖЕ объект
источник

D

Danila in JavaScript Noobs — сообщество новичков
Если ты сделаешь b.test = 2;
Или c.test = 3

Ты изменишь один и тот же объект
источник

D

Danila in JavaScript Noobs — сообщество новичков
Алмаз ®
Даже назначая const вы не можете быть уверены что этот объект не измениться.
Да. Но можете быть уверены, что там всегда один и тот же объект в плане выделеной области памяти, если примитивно
источник

D

Danila in JavaScript Noobs — сообщество новичков
Ссылка в одно и то же место
источник

D

Danila in JavaScript Noobs — сообщество новичков
Если необходимо запретить изменения самого объекта, есть Object.freeze()
источник

OL

Oleksandr Lukhanin in JavaScript Noobs — сообщество новичков
Danila
Ссылка в одно и то же место
на данные в этом месте могут в ходе работы добавляться, меняться, удалаться?
источник

D

Danila in JavaScript Noobs — сообщество новичков
Oleksandr Lukhanin
на данные в этом месте могут в ходе работы добавляться, меняться, удалаться?
Да
источник

D

Danila in JavaScript Noobs — сообщество новичков
Ты просто получил "ссылку которая стопудово всегда указывает туда и больше никуда"
источник

А

Алмаз ® in JavaScript Noobs — сообщество новичков
Danila
Да. Но можете быть уверены, что там всегда один и тот же объект в плане выделеной области памяти, если примитивно
Я про это и говорю. В строго типизированных языках такого бардака нет. Тем и строго типизированные языки более высокий класс программирования. И давай ещё поспорим что строго типизированный язык легче чем js ахахаха
источник