зачем оно в принципе существует с точки зрения дизайна языков программирования. Есть интересные статьи на примере?
а есть мысли как без new создавать объекты?
А в чем проблему видишь?
Ну таки шо
В других языках он нужен, чтобы явно отделить конструкторы от функций, тк там функции - это не обьекты первого класса, то часто обьекты создавали с передачей типов через жнерики
Ну я так предполагаю)
Не вижу проблем в том, чтобы сделать это все без использования ключевого слова. Как я и упоминал new делает что-то только в C++, по сути шорткат для malloc
Ну вообще согласен, мне в голову не приходит ни одной идеи зачем нужен new. Если чтобы отделить функции от создания обьекта, то вопрос далее зачем это. Если чтобы показать, что здесь создается обьект, то опять же зачем это, когда и так классы с большой буквы пишутся и являются существительным
Дальше то что? Есть язык, ему гора лет, не нравится new иди другой язык изучать, какой смысл разводить холивар?
пойди перепиши все языки где есть new, а если не можешь - хорош ныть. выяснили для себя что это юзлесс конструкция - пошли дальше
Чтобы обсудить дизайн языка и сделать выводы
Это дискуссия, тем более вопросов не было, а TS очень завязан на систему типов и люди вроде как в теме должны быть
!ро успокоился :)
Ts это костыль для js
ну нет, ts для js как C++ для C
Даже больше, тк система типов в тс крайне мощная относительно мейнстрим языков. Хотелось бы чтобы тайпчекер был построже и мог компилиться не только в жс
Система типов в ts дырявая одна опечатка и все рушится
‘Who’ As unknown as number
Это не просто опечатка, хотя в целом согласен что это минус языка
Это не минус языка это реальность экосистемы
Ну как, в пьюрскрипт такое вроде не возможно, как и в резонмл
Ну без очень сильных махинаций и явного подключения стороних либ на жсс не верными хедерами
Сегодня только прочитал дискуссию. Весь день задавался вопросом, зачем в джс new... TL;DR умные люди подсказали про hidden classes в v8 - https://mrale.ph/blog/2014/07/30/constructor-vs-objectcreate.html По факту, интерпретатор анализирует код конструктора перед выделением памяти (ваш любимый malloc из C++)
Обсуждают сегодня