JavaScript-klasser

I denne vejledning lærer du om JavaScript-klasser ved hjælp af eksempler.

Klasser er en af ​​funktionerne introduceret i ES6- versionen af ​​JavaScript.

En klasse er en plan for objektet. Du kan oprette et objekt fra klassen.

Du kan tænke på klassen som en skitse (prototype) af et hus. Den indeholder alle detaljer om gulve, døre, vinduer osv. Baseret på disse beskrivelser bygger du huset. Huset er objektet.

Da mange huse kan laves ud fra den samme beskrivelse, kan vi oprette mange objekter fra en klasse.

Oprettelse af JavaScript-klasse

JavaScript-klasse svarer til Javascript-konstruktørfunktionen, og det er kun et syntaktisk sukker.

Konstruktorfunktionen er defineret som:

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

I stedet for at bruge functionnøgleordet bruger du classnøgleordet til at oprette JS-klasser. For eksempel,

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

Den classsøgeord bruges til at oprette en klasse. Egenskaberne tildeles i en konstruktionsfunktion.

Nu kan du oprette et objekt. For eksempel,

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

Her person1og person2 er objekter i Personklassen.

Bemærk : constructor()Metoden inde i en klasse kaldes automatisk hver gang et objekt oprettes.

Javascript klassemetoder

Mens du bruger konstruktorfunktion, definerer du metoder som:

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

Det er let at definere metoder i JavaScript-klasse. Du giver blot navnet på metoden efterfulgt af (). For eksempel,

 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

Bemærk : For at få adgang til metoden til et objekt skal du kalde metoden ved hjælp af dens navn efterfulgt af ().

Getters og Setters

I JavaScript får gettermetoder værdien af ​​et objekt, og settermetoder indstiller værdien af ​​et objekt.

JavaScript-klasser kan omfatte getters og setters. Du bruger getnøgleordet til gettermetoder og settil settermetoder. For eksempel,

 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

Hejsning

En klasse skal defineres, inden den bruges. I modsætning til funktioner og andre JavaScript-erklæringer hæves klassen ikke. For eksempel,

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

Som du kan se, får du adgang til en klasse, før du definerer den, en fejl.

'brug streng'

Klasser følger altid 'brugsstreng'. Al koden inde i klassen er automatisk i streng tilstand. For eksempel,

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

Bemærk : JavaScript-klasse er en speciel type funktion. Og typeofoperatøren vender tilbage functiontil en klasse.

For eksempel,

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

Interessante artikler...