В JavaScript классы - это шаблоны, используемые для создания объектов. Они были добавлены в язык JavaScript в ECMAScript 6 и стали более удобной альтернативой использованию функций-конструкторов для создания объектов.
Классы в JavaScript определяются с помощью ключевого слова class и имеют свойства и методы. Свойства определяются внутри конструктора класса, который вызывается при создании нового экземпляра класса. Методы определяются внутри тела класса и могут вызываться на экземпляре класса.
Если вы хотите больше узнать про методы, то прочитайте эту статью: Методы JavaScript
Пример определения класса в JavaScript:
class Person { constructor(name, age) { this.name = name; this.age = age; } sayHello() { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } } const john = new Person('John', 25); john.sayHello(); // "Hello, my name is John and I am 25 years old."
В этом примере мы определили класс Person, который имеет свойства name и age, а также метод sayHello(), который выводит на консоль приветствие. Затем мы создали новый экземпляр класса Person с именем john и вызвали его метод sayHello().
Классы в JavaScript также могут наследоваться от других классов, что позволяет создавать иерархию классов. Для наследования от другого класса используется ключевое слово extends.
Пример наследования класса в JavaScript:
class Student extends Person { constructor(name, age, grade) { super(name, age); this.grade = grade; } sayHello() { console.log(`Hello, my name is ${this.name}, I am ${this.age} years old, and I am in grade ${this.grade}.`); } } const alice = new Student('Alice', 15, 9); alice.sayHello(); // "Hello, my name is Alice, I am 15 years old, and I am in grade 9."
В этом примере мы определили класс Student, который наследуется от класса Person. Класс Student имеет свойство grade, которое определяет уровень ученика, и переопределенный метод sayHello(), который выводит на консоль приветствие студента.
Классы в JavaScript являются мощным инструментом для создания объектно-ориентированных приложений и более удобным способом создания объектов, чем использование функций-конструкторов. Они позволяют создавать иерархии классов и наследование свойств и методов от других классов.
#основы