Třídy JavaScriptu

V tomto výukovém programu se na příkladech dozvíte o třídách JavaScriptu.

Třídy jsou jednou z funkcí zavedených ve verzi Java ES6 JavaScriptu.

Třída je plán pro objekt. Z třídy můžete vytvořit objekt.

Třídu si můžete představit jako náčrt (prototyp) domu. Obsahuje všechny podrobnosti o podlahách, dveřích, oknech atd. Na základě těchto popisů stavíte dům. Dům je objekt.

Protože ze stejného popisu lze vyrobit mnoho domů, můžeme z třídy vytvořit mnoho objektů.

Vytváření třídy JavaScriptu

Třída JavaScript je podobná funkci konstruktoru Javascript a je to pouze syntaktický cukr.

Funkce konstruktoru je definována jako:

 // constructor function function Person () ( this.name = 'John', this.age = 23 ) // create an object const person1 = new Person();

Místo použití functionklíčového slova použijete classklíčové slovo pro vytváření tříd JS. Například,

 // creating a class class Person ( constructor(name) ( this.name = name; ) )

classKlíčové slovo se používá k vytvoření třídy. Vlastnosti jsou přiřazeny ve funkci konstruktoru.

Nyní můžete vytvořit objekt. Například,

 // 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

Zde person1a person2 jsou předměty Persontřídy.

Poznámka : constructor()Metoda uvnitř třídy se volá automaticky při každém vytvoření objektu.

Metody třídy Javascript

Při použití funkce konstruktoru definujete metody jako:

 // constructor function function Person (name) ( // assigning parameter values to the calling object this.name = name; // defining method this.greet = function () ( return ('Hello'' + ' ' + this.name); ) )

Je snadné definovat metody ve třídě JavaScriptu. Jednoduše zadáte název metody a následně (). Například,

 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

Poznámka : Chcete-li získat přístup k metodě objektu, musíte metodu zavolat pomocí jejího názvu následovaného znakem ().

Getters a Setters

V JavaScriptu získají metody getter hodnotu objektu a metody setteru nastaví hodnotu objektu.

Třídy JavaScript mohou zahrnovat getry a settery. getKlíčové slovo používáte pro metody getter a setpro metody setter. Například,

 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

Zdvihání

Před použitím by měla být definována třída. Na rozdíl od funkcí a dalších deklarací JavaScriptu není třída zvednuta. Například,

 // accessing class const p = new Person(); // ReferenceError // defining class class Person ( constructor(name) ( this.name = name; ) )

Jak vidíte, přístup do třídy před definováním vyvolá chybu.

'use strict'

Třídy vždy následují „přísné použití“. Veškerý kód uvnitř třídy je automaticky v přísném režimu. Například,

 class Person ( constructor() ( a = 0; this.name = a; ) ) let p = new Person(); // ReferenceError: Can't find variable: a

Poznámka : Třída JavaScript je speciální typ funkce. A typeofoperátor se vrátí functionpro třídu.

Například,

 class Person () console.log(typeof Person); // function

Zajímavé články...