Реагировать на классы ES6
Классы
ES6 представил классы.
Класс — это тип функции, но вместо того, чтобы использовать ключевое слово
function
для его инициации, мы используем ключевое слово
class
, а свойства назначаются внутри
constructor()
метода.
Пример
Простой конструктор класса:
class Car {
constructor(name) {
this.brand = name;
}
}
Обратите внимание на регистр имени класса. Мы начали название «Автомобиль» с заглавной буквы. Это стандартное соглашение об именах для классов.
Теперь вы можете создавать объекты с помощью класса Car:
Пример
Создайте объект с именем «mycar» на основе класса Car:
class Car {
constructor(name) {
this.brand = name;
}
}
const mycar = new Car("Ford");
Примечание. Функция конструктора вызывается автоматически при инициализации объекта.
Получите сертификат!
ЗАПИСАТЬСЯ НА 95 $
Метод в классах
Вы можете добавить свои собственные методы в класс:
Пример
Создайте метод с именем «настоящее»:
class Car {
constructor(name) {
this.brand = name;
}
present() {
return 'I have a ' + this.brand;
}
}
const mycar = new Car("Ford");
mycar.present();
Как вы можете видеть в приведенном выше примере, вы вызываете метод, ссылаясь на имя метода объекта, за которым следуют круглые скобки (параметры будут заключаться в круглые скобки).
Наследование классов
Чтобы создать наследование класса, используйте extends
ключевое слово.
Класс, созданный с наследованием класса, наследует все методы другого класса:
Пример
Создайте класс с именем «Модель», который наследует методы класса «Автомобиль»:
class Car {
constructor(name) {
this.brand = name;
}
present() {
return 'I have a ' + this.brand;
}
}
class Model extends Car {
constructor(name, mod) {
super(name);
this.model = mod;
}
show() {
return this.present() + ', it is a ' + this.model
}
}
const mycar = new Model("Ford", "Mustang");
mycar.show();
Метод super()
ссылается на родительский класс.
Вызывая super()
метод в методе конструктора, мы вызываем метод конструктора родителя и получаем доступ к свойствам и методам родителя.
Чтобы узнать больше о классах, посетите наш раздел « Классы JavaScript ».