JS он как бы есть уже: const createItem = (...): Item => { return { ... } }
Создание обьекта и не должно синтаксически выделяться.
Pinia мне этим подходом нравится. Да и не одному мне
Как в руби например Foo.new
у тебя в правой части литерал, фактически, как бы это выглядело для класса Foo?
Или так, в питоне магический метод, в расте любая функция
const some = Foo();
отлично, а какая разница?
Это я на Rust посмотрел
Про выражения и утверждения ты вообще не слышал?
возможно слышал, как это относится? и какая разница с new Foo?
Разницу уже показали, а вот в чем преимущество new - загадка. Об этом и вопрос: зачем его добавлять
Потому что в жаве так
Java еще extends есть. А стоп...
я правильно понимаю, что разница только в синтаксисе, было new Foo, стало Foo.new?
Нет, в том что теперь его можно без боли передавать в функции
Нет, было statement стало expression - это главная разница для меня
И чтобы это делать не надо ничего дополнительно знать, это просто исходит из базового синтаксиса языка
Вот именно, не один я заметил, что new как пятое колесо выглядит
тогда это разница в семантике, тк new конструирует объект, а фция сама по себе нет
Ну так почему вызов конструктора отличается от вызова обычной функции?
const createSome = () => ({}) О неет
потому что к моменту вызова фции объект должен быть сконструирован?
Ну так это вызов функции конструктора
const createSome = () => { this = {} const constructor = () => { return this } return constructor() }
Обсуждают сегодня