Size: a a a

JavaScript — русскоговорящее сообщество

2020 February 23

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
Я про это и писал. Получается что Number существует без экземпляров
источник

E

Elijah in JavaScript — русскоговорящее сообщество
Но это рабочий объект сразу. И все остальные объекты наследуются от него - прототипа. В классовом подходе надо руками создать первый объект.
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
Это функция а не объект
источник

E

Elijah in JavaScript — русскоговорящее сообщество
Она возвращает объект, про который мы говорим
источник

B

Baxxter in JavaScript — русскоговорящее сообщество
Elijah
Но это рабочий объект сразу. И все остальные объекты наследуются от него - прототипа. В классовом подходе надо руками создать первый объект.
или вы что то путаете, или так невнятно рассуждаете, что я не понимаю. new создает обьект, вызывает функцию-конструктор в контексте этого обьекта, и указывает в proto созданного обьекта ссылку на свойство prototype функции-конструктора. вся любовь. в целом это же можно сделать без new, через Object.create или call, только более многословно. поэтому new тоже в каком то роде сахарок над call
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
Elijah
Она возвращает объект, про который мы говорим
Как и функция конструктор в java
источник

E

Evgen in JavaScript — русскоговорящее сообщество
Ну мы про сахарок и говорим. Я не вижу большой разницы в "классах" между java и js
источник

E

Elijah in JavaScript — русскоговорящее сообщество
Baxxter
или вы что то путаете, или так невнятно рассуждаете, что я не понимаю. new создает обьект, вызывает функцию-конструктор в контексте этого обьекта, и указывает в proto созданного обьекта ссылку на свойство prototype функции-конструктора. вся любовь. в целом это же можно сделать без new, через Object.create или call, только более многословно. поэтому new тоже в каком то роде сахарок над call
это детали реализации прототипного наследования. Как я понял, вопрос изначальный был в концептуальной разнице между прототипным и классовым наследованием. Т.е. каким образом концептуально получаются новые объекты. В класс-ориентрованном подходе класс выступает спецификацией. В прототипно-ориентированном наследуются напрямую от других объектов.
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
Elijah
это детали реализации прототипного наследования. Как я понял, вопрос изначальный был в концептуальной разнице между прототипным и классовым наследованием. Т.е. каким образом концептуально получаются новые объекты. В класс-ориентрованном подходе класс выступает спецификацией. В прототипно-ориентированном наследуются напрямую от других объектов.
В js тоже есть классы
источник

E

Evgen in JavaScript — русскоговорящее сообщество
Да какая разница как он создается под капотом, если все равно пишешь new ClassName()
источник

a

arts in JavaScript — русскоговорящее сообщество
Sergey 🛸
В js тоже есть классы
Это синтаксический сахар над прототипами
источник

a

arts in JavaScript — русскоговорящее сообщество
Evgen
Да какая разница как он создается под капотом, если все равно пишешь new ClassName()
А и правда. На хрена понимать, как работает язык, на котором пишешь.
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
arts
Это синтаксический сахар над прототипами
От этого они перестают быть классами?
источник

e

ed in JavaScript — русскоговорящее сообщество
Sergey 🛸
От этого они перестают быть классами?
Думаю тут имеется ввиду их поведение в разных ситуациях
источник

E

Evgen in JavaScript — русскоговорящее сообщество
arts
А и правда. На хрена понимать, как работает язык, на котором пишешь.
Знание прототипов не дает существенных преимуществ при использовании синтаксического сахара, который был специально создан чтобы о прототипах не думали.
источник

E

Evgen in JavaScript — русскоговорящее сообщество
Вопрос на засыпку - если в вашем современном коде встретится слово prototype - не скажет ли ревьювер, что от него нужно избавиться?
источник

e

ed in JavaScript — русскоговорящее сообщество
Имхо срач ни о чем, знание прототипов не поможет в фоомошлепстве чем занимается большинство

Знание прототипов поможет в более сложных задачах

Используем инструменты по необходимости - будет всё ок
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Evgen
Вопрос на засыпку - если в вашем современном коде встретится слово prototype - не скажет ли ревьювер, что от него нужно избавиться?
если код. база на es6 - возможно скажет избавится, если у кейса есть альтернатива
источник

E

Evgen in JavaScript — русскоговорящее сообщество
Znacovean Simion
если код. база на es6 - возможно скажет избавится, если у кейса есть альтернатива
Вообщем оставлю ИМХО: использование слова prototype в современном javascript считаю плохим тоном.
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Evgen
Вообщем оставлю ИМХО: использование слова prototype в современном javascript считаю плохим тоном.
прокидывание свойства инстансу глобально через Vue.prototype по доке не является например плохим тоном
источник