Narek
По стандарту, на данный момент, классы - сахар
Ruslan
🤦‍♂️
У тебя просто иное понимание слова "сахар"
Sergey
По стандарту, на данный момент, классы - сахар
покажи мне эти строчки в стандарте
Sergey
У тебя просто иное понимание слова "сахар"
я тебе описал его выше, и это не только моё понимание
Narek
Я выше линк дал, этого достаточно
Sergey
Я выше линк дал, этого достаточно
это не стандарт и не достаточно
Таймураз
Деструктуризация, например- сахар А классы если и сахар, то только на данный момент и то- с натяжкой
Таймураз
Можно по-разному пробежать по массиму или полям объекта, но все это- разные способы выполнения того же действия
Sergey
Таймураз
Классы и прототипирование могут выполнять одно и то же, но классы- новый уровень абстракции, на основе которого можно будет строить новые фичи
Max
а приватные поля у классов сейчас на какой стадии?
Таймураз
И делать то, что делают прототипы, только намного легче (быстрее)
Sergey
Оооо
Sergey
Кстати
Sergey
Обломайтесь нахуй
Sergey
class Foo {} Foo()
Sergey
все
Sergey
идите нахуй
Sergey
классы имеют другое поведение
Sergey
Sergey
уже нихуя не сахар
Таймураз
Кстати async/await и просто промисы
Sergey
Кстати async/await и просто промисы
нуууууу в промисах нет .finally
Таймураз
асинхронная функция- уже не промис
Таймураз
Именно
Таймураз
Суперкласс от промиса Но под капотом иная реализация
Sergey
Я выше линк дал, этого достаточно
все ещё будешь спорить?
Narek
Ну такое, мне просто лень в спеке искать)
Narek
Although ECMAScript objects are not inherently class-based, it is often convenient to define class-like abstractions based upon a common pattern of constructor functions, prototype objects, and methods. The ECMAScript built-in objects themselves follow such a class-like pattern. Beginning with ECMAScript 2015, the ECMAScript language includes syntactic class definitions that permit programmers to concisely define objects that conform to the same class-like abstraction pattern used by the built-in objects.
Narek
Нашел такое, но не сильно подходит, вроде
Sergey
я тебе привел пример РАЗНОГО поведения классов и функций
Narek
не, я увидел, да
Sergey
class-like abstraction pattern
Sergey
то есть “Похожее на класс"
Ruslan
Частичный сахар)
Sergey
Частичный сахар)
лол. это уже троллинг
Таймураз
Пацаны Сделаю проще Определитесь, что такое сахар
Ruslan
Ладно, чё вобще спорить из-за слова "сахар"... лучше функциональным программированием заняться
Narek
Even though ECMAScript includes syntax for class definitions, ECMAScript objects are not fundamentally class-based such as those in C++, Smalltalk, or Java. Instead objects may be created in various ways including via a literal notation or via constructors which create objects and then execute code that initializes all or part of them by assigning initial values to their properties.
Таймураз
"сахар- это углеводы!"
Narek
ach constructor is a function that has a property named "prototype" that is used to implement prototype-based inheritance and shared properties. Objects are created by using constructors in new expressions; for example, new Date(2009,11) creates a new Date object. Invoking a constructor without using new has consequences that depend on the constructor. For example, Date() produces a string representation of the current date and time rather than an object.
Narek
Ну такое, в общем
Narek
Я и не говорил, что всегда так будет))
Таймураз
Синтаксический сахар (англ. syntactic sugar) в языке программирования — это синтаксические возможности, применение которых не влияет на поведение программы, но делает использование языка более удобным для человека. Классы- не сахар, так как поведение уже сейчас не такое, как у прототипа
Дима
После утверждения # уже разница будет очевидна
Таймураз
Имхо, в вики правильная формулировка
Дима
Но да, уже сейчас есть кейсы, когда их поведение отличается, я только не помню какие
Narek
там вообще все было, лол
Дима
Да, клёвая
Дима
Особенно меня XML часть впечатлила
Дима
Очень рад что всего этого не приняли
Narek
на свифт похоже, кстати
Sergey
Неужели это удачная идея?
мне нравится) вполне себе годно
Таймураз
В Мск такое небо чистое А я за компом сижу
Ruslan
Можно же в замыкании хранить
Дима
Неужели это удачная идея?
Не то чтобы без этого нельзя было жить, но раз начали развивать язык, то становится трудно остановиться.
Дима
Единственное, что у меня вызывает опасения — это import.meta. Нет ничего более беспомощного, безответственного и порочного, чем метапрограммирование. Я знаю, что рано или поздно мы перейдем и на эту дрянь
Яков
ну вдруг там без new
да, без new. module.exports = Dbmanager;
Sergey
да, без new. module.exports = Dbmanager;
использование, а не экспорт
Яков
ипосльую так :
Яков
var dbmanager = new Dbmanager(config.proxy,config.pbxes)
Яков
и дальше методы дергаю
Таймураз
да, без new. module.exports = Dbmanager;
Искренний совет- потыкать в ES6 (книгу какую по ES6) с месяц, а потом продолжить писать то, что ты делаешь
Таймураз
Даже если сейчас ты сделаешь худо-бедно рабочую версию того, что ты задумал- все равно в будущем тот, кто будет работать над этим- огребет проблем
Яков
буду читать
Таймураз
оно уже худо-бедно работает.
Тогда для рефакторинга/добавления функционала лучше познать сакральные тайны JS-а, чтобы потом не было больно
Владимир
да все равно будет больно
Владимир
хоть учитайся