Почему классы в 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
149 +1
1
Ответы
1

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

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

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

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир