Классы JavaScript

В этом руководстве вы узнаете о классах 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

Интересные статьи...