class Person {
constructor(name) {
this.name = name;
}
greet() {
console.log(`Hello, my name is ${this.name}`);
}
}
В этом примере мы определяем класс Person с конструктором, который принимает name в качестве параметра, и методом greet().
Создание экземпляра класса:
const john = new Person('John');
john.greet(); // "Hello, my name is John"
Наследование:
class Employee extends Person {
constructor(name, job) {
super(name);
this.job = job;
}
describe() {
console.log(`${this.name} is a ${this.job}`);
}
}
const alice = new Employee('Alice', 'Developer');
alice.greet(); // "Hello, my name is Alice"
alice.describe(); // "Alice is a Developer"
В этом примере мы определяем класс Employee, который наследует от Person. Конструктор Employee вызывает конструктор родительского класса Person с помощью super(name). Также мы добавляем свойство job и метод describe().
Ключевые особенности ES6 классов:
Конструктор: Метод constructor() вызывается при создании нового экземпляра класса и используется для инициализации свойств объекта.
Методы: Методы определяются внутри класса без использования ключевого слова function.
Наследование: Ключевое слово extends используется для наследования от другого класса. Метод super() вызывает конструктор родительского класса.
Статические методы и свойства: Определяются с помощью ключевого слова static.
Просто добавили так называемый "синтаксический сахар", чтобы проще работать
Видео Определение класса:
В этом примере мы определяем класс Person с конструктором, который принимает name в качестве параметра, и методом greet().
Создание экземпляра класса:
Наследование:
В этом примере мы определяем класс Employee, который наследует от Person. Конструктор Employee вызывает конструктор родительского класса Person с помощью super(name). Также мы добавляем свойство job и метод describe().
Ключевые особенности ES6 классов:
Просто добавили так называемый "синтаксический сахар", чтобы проще работать