Почему классы в ES6 такие убогие? Здравствуйте.
Интересуюсь новым стандартом ES6. Посмотрел на реализацию классов и разочаровался. Больше всего не понравилось то, что в новом стандарте нельзя объявлять поля в теле объявления класса. Даже в ES5 мы могли в функции конструкторе имитировать приватные поля с помощью замыкания.var Person = (function()
{
var name;
function Person(_name)
{
name = _name;
}
Person.prototype.getName = function()
{
return name;
};
return Person;
}());
var p = new Person("Kirill");
console.log(p.getName()); // Kirill
Посмотрел на быдлокодерские приёмы с использованием Symbol и WeakMap для имитации приватности в ES6 и всё равно остался недоволен.(function()
{
const name = Symbol();

class Person
{
constructor(_name)
{
this[name] = _name;
}
getName()
{
return this[name];
}
}

var p = new Person("Kirill");
console.log(p.getName()); // Kirill
}());
Почему ES6 классы такие недоделанные? Сделали бы хотя бы как в TypeScript. Хоть там private и не приватный, но хоть нормальные поля есть.

21 Авг 2019 в 07:07
166 +1
1
Ответы
1

Вопрос о том, почему ES6 классы выглядят "недоделанными", вызывает разные мнения среди разработчиков. Некоторые считают, что JavaScript в целом не был задуман как язык с классами и наследованием, и поэтому добавление классов в ES6 является лишь попыткой упростить разработку для людей, привыкших к объектно-ориентированному программированию.

Другие считают, что ES6 классы могли быть более полноценными и совершенными, но создатели стандарта ограничили свои возможности, чтобы сохранить обратную совместимость с существующими кодовыми базами на JavaScript.

В любом случае, у разработчиков всегда есть возможность использовать TypeScript, который предоставляет более расширенные функциональные возможности для работы с классами, включая более мощную систему типов и поддержку приватных полей. Таким образом, если вам не нравится ограниченность ES6 классов, вы можете рассмотреть вариант использования TypeScript для вашего проекта.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир