- ES6 предоставляет новый синтаксис для создания объектов, используя ключевое слово класса. Следует отметить, что синтаксис класса просто синтаксис, а не полноценная реализация на основе классов на объектно-ориентированной парадигме, в отличие от таких языков, как Java, Python, Ruby и т. Д.
- В ES5 мы обычно определяем функцию конструктора и используем новое ключевое слово для создания объекта.
var Vegetable = function(name){ this.name = name; } var carrot = new Vegetable('carrot');
- Синтаксис класса просто заменяет создание функции конструктора.
class Vegetable { constructor(name) { this.name = name; } } const carrot = new Vegetable('carrot'); console.log(carrot.name); // Should display 'carrot'
Следует также отметить, что ключевое слово класса объявляет новую функцию, на которую добавляется конструктор. Этот конструктор вызывается, когда New вызывается для создания нового объекта.
- ПРИМЕЧАНИЕ. Верхняя камера должна использоваться конвенцией для названий классов ES6, как в SpaceShuttle, используемой выше.
Оригинал: «https://dev.to/rthefounding/use-class-syntax-to-define-a-constructor-function-386l»