В этом руководстве вы узнаете о классах JavaScript с помощью примеров.
Классы - это одна из функций, представленных в версии JavaScript для ES6 .
Класс - это план объекта. Вы можете создать объект из класса.
Вы можете думать о классе как об эскизе (прототипе) дома. Он содержит все подробности о этажах, дверях, окнах и т. Д. На основе этих описаний вы строите дом. Дом - это объект.
Поскольку из одного и того же описания можно построить множество домов, мы можем создать множество объектов из одного класса.
Создание класса JavaScript
Класс JavaScript похож на функцию конструктора Javascript, и это просто синтаксический сахар.
Функция конструктора определяется как:
// constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();
Вместо использования function
ключевого слова вы используете class
ключевое слово для создания классов JS. Например,
// creating a class class Person ( constructor(name) ( this.name = name; ) )
class
Ключевое слово используется для создания класса. Свойства назначаются в функции-конструкторе.
Теперь вы можете создать объект. Например,
// creating a class class Person ( constructor(name) ( this.name = name; ) ) // creating an object const person1 = new Person('John'); const person2 = new Person('Jack'); console.log(person1.name); // John console.log(person2.name); // Jack
Здесь person1
и person2 - объекты Person
класса.
Примечание . constructor()
Метод внутри класса вызывается автоматически каждый раз при создании объекта.
Методы класса Javascript
При использовании функции конструктора вы определяете методы как:
// constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )
В классе JavaScript легко определять методы. Вы просто указываете имя метода, за которым следует ()
. Например,
class Person ( constructor(name) ( this.name = name; ) // defining method greet() ( console.log(`Hello $(this.name)`); ) ) let person1 = new Person('John'); // accessing property console.log(person1.name); // John // accessing method person1.greet(); // Hello John
Примечание . Чтобы получить доступ к методу объекта, вам необходимо вызвать метод, используя его имя, за которым следует ()
.
Геттеры и сеттеры
В JavaScript методы получения получают значение объекта, а методы установки устанавливают значение объекта.
Классы JavaScript могут включать геттеры и сеттеры. Вы используете get
ключевое слово для методов получения и set
для методов установки. Например,
class Person ( constructor(name) ( this.name = name; ) // getter get personName() ( return this.name; ) // setter set personName(x) ( this.name = x; ) ) let person1 = new Person('Jack'); console.log(person1.name); // Jack // changing the value of name property person1.personName = 'Sarah'; console.log(person1.name); // Sarah
Подъем
Перед использованием класса необходимо определить его. В отличие от функций и других объявлений JavaScript, класс не поднимается. Например,
// accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )
Как видите, доступ к классу до его определения вызывает ошибку.
'использовать строго'
Классы всегда следуют "строгому использованию". Весь код внутри класса автоматически находится в строгом режиме. Например,
class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a
Примечание . Класс JavaScript - это особый тип функции. И typeof
оператор возвращается function
для класса.
Например,
class Person () console.log(typeof Person); // function