Класи 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 методи getter отримують значення об'єкта, а методи setter - значення об'єкта.

Класи JavaScript можуть включати геттери та сетери. Ви використовуєте getключове слово для методів getter та setдля методів setter. Наприклад,

 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

Цікаві статті...