JavaScript-klasser

I denne veiledningen vil du lære om JavaScript-klasser ved hjelp av eksempler.

Klasser er en av funksjonene introdusert i ES6- versjonen av JavaScript.

En klasse er en blåkopi for objektet. Du kan opprette et objekt fra klassen.

Du kan tenke på klassen som en skisse (prototype) av et hus. Den inneholder alle detaljene om gulv, dører, vinduer osv. Basert på disse beskrivelsene bygger du huset. Huset er objektet.

Siden mange hus kan lages fra samme beskrivelse, kan vi lage mange gjenstander fra en klasse.

Opprette JavaScript-klasse

JavaScript-klasse ligner på Javascript-konstruktorfunksjonen, og den er bare et syntaktisk sukker.

Konstruktorfunksjonen er definert som:

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

I stedet for å bruke functionnøkkelordet, bruker du classnøkkelordet til å lage JS-klasser. For eksempel,

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

Den classnøkkelordet brukes til å lage en klasse. Egenskapene er tildelt i en konstruktorfunksjon.

Nå kan du opprette 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.

Merk : constructor()Metoden i en klasse blir kalt automatisk hver gang et objekt opprettes.

Javascript klassemetoder

Mens du bruker konstruktorfunksjon, 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 enkelt å definere metoder i JavaScript-klasse. Du oppgir bare navnet på metoden etterfulgt av (). 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

Merk : For å få tilgang til metoden til et objekt, må du ringe metoden ved å bruke navnet fulgt av ().

Getters og Setters

I JavaScript får gettermetoder verdien av et objekt og settermetoder angir verdien til et objekt.

JavaScript-klasser kan omfatte getters og setters. Du bruker getnøkkelordet for gettermetoder og setfor 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

Heising

En klasse bør defineres før du bruker den. I motsetning til funksjoner og andre JavaScript-erklæringer, heises ikke klassen. For eksempel,

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

Som du kan se, får tilgang til en klasse før du definerer den en feil.

'bruk streng'

Klasser følger alltid 'bruk-streng'. All koden i klassen er automatisk i streng modus. For eksempel,

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

Merk : JavaScript-klasse er en spesiell type funksjon. Og typeofoperatøren kommer tilbake functionfor en klasse.

For eksempel,

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

Interessante artikler...