У цьому підручнику ви дізнаєтесь про класи 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