Hvad er en JavaScript-klasse, og hvordan bruges den?



En klasse er en udvidelig programkodeskabelon til oprettelse af objekter. En javascript-klasse er en type funktion og erklæres med klassens nøgleord.

I objektorienteret programmering er en klasse en udvidelig programkodeskabelon til oprettelse af objekter. klasser kan primært betragtes som et syntaktisk sukker i forhold til JavaScript's eksisterende prototype-baserede arv. I denne artikel vil vi komme ind i dybden af ​​JavaScript-klassen og lære at bruge dem i følgende rækkefølge:

Hvad er en JavaScript-klasse?

I JavaScript er en klasse en type funktion og erklæres med klassens nøgleord. Du skal bruge funktionsudtrykssyntaks til at initialisere en funktion og klasseudtrykssyntaks for at initialisere en klasse.





// Initialisering af en funktion med et funktionsudtryk const a = funktion () {}
// Initialisering af en klasse med et klasseudtryk const b = klasse {}

I JavaScript bruger vi nøgleordsklassen i stedet for at bruge nøgleordsfunktionen til at starte den. Egenskaberne tildeles også i en konstruktør () metode.

hvordan man bruger en iterator

Hvordan bruges en JavaScript-klasse?

Koden erklæret med fungere og klasse returnerer begge en funktion [[Prototype]]. Med prototyper kan enhver funktion blive en konstruktørinstans ved hjælp af det nye nøgleord. For eksempel:



const a = class {} // Initialiser en constructor fra en class const constructorFromClass = new a () console.log (constructorFromClass)

Produktion:

en {} konstruktør: klasse

Nu er der tre forskellige måder at bruge klasse i JavaScript på. Lad os komme ind i detaljerne i hver metode med et eksempel.

Definer en klasse

En konstruktionsfunktion initialiseres med et antal parametre, som er tildelt som egenskaber for 'dette' , der henviser til selve funktionen. Det første bogstav i identifikatoren er stort efter konvention.



hvordan man bruger java swing
// Initialisering af en konstruktorfunktion medarbejder (navn, empid) {this.name = name this.empid = empid}

Nu, hvis vi oversætter dette til klassesyntaksen, vil du se, at strukturer er meget ens.

// Initialisering af en klassedefinitionsklassemedarbejder {constructor (name, empid) {this.name = name this.empid = empid}}

Vi kan sige, at klassens nøgleord kommunikerer på en mere ligetil måde. Den eneste forskel i syntaxen for initialiseringen er at bruge klassens nøgleord i stedet for funktion. Det tildeler også egenskaberne i en konstruktør () -metode.

Definer metoder

En anden almindelig praksis med konstruktørfunktioner er at tildele metoder direkte til prototypen i stedet for i initialiseringen. Vi tager et eksempel og ser, hvordan det fungerer:

funktionsmedarbejder (navn, empid) {this.name = name this.empid = empid} // Tilføjelse af en metode til konstruktøren medarbejder.prototype.greet = funktion () {return `$ {this.name} siger hej.`}

Når du skriver den samme kode med klasse, forenkles den, og metoden tilføjes direkte.

klassemedarbejder {constructor (name, empid) {this.name = name this.empid = empid} // Tilføjelse af en metode til konstruktørhilsen () {return `$ {this.name} siger hej.`}}

Selvom klasser giver mulighed for en mere enkel og kortfattet syntaks, kan du nogle gange være nødt til at gå på kompromis med klarheden i processen.

Udvidelse af en klasse

Fordelen ved konstruktørfunktioner og klasser er, at de kan udvides til nye objekttegninger baseret på forældren. Dette hjælper med at forhindre gentagelse af kode for objekter, der er ens, men har brug for nogle yderligere eller mere specifikke funktioner.

gå sortere c ++

Nye konstruktorfunktioner kan oprettes fra den overordnede ved hjælp af call-metoden. For eksempel:

// Oprettelse af en ny konstruktør ud fra overordnede funktionsoplysninger (navn, empid, løn) {// Kædekonstruktør med kald medarbejder.call (dette, navn, empid) this.salary = løn}

Nu, når vi skriver den samme kode ved hjælp af klasse, bruges super nøgleordet i stedet for opkald for at få adgang til de overordnede funktioner.

// Oprettelse af en ny klasse fra forældreklassens info udvider medarbejder {constructor (navn, empid, løn) {// Chain constructor med super super (name, empid) // Tilføj en ny egenskab this.salary = løn}}

Klasser giver dig en mere kortfattet måde at skabe på objekt tegninger og konstruktørfunktioner beskriver, hvad der sker under emhætten på en mere specifik måde.

Med dette er vi kommet til slutningen af ​​vores artikel. Jeg håber, du forstod, hvordan du bruger JavaScript-klasse.

Nu hvor du kender JavaScript-klasse, skal du tjekke af Edureka. Webudvikling certificeringstræning hjælper dig med at lære, hvordan du opretter imponerende websteder ved hjælp af HTML5, CSS3, Twitter Bootstrap 3, jQuery og Google API'er og distribuerer det til Amazon Simple Storage Service (S3).

Har du et spørgsmål til os? Nævn det i kommentarfeltet i “JavaScript-klasse”, og vi vender tilbage til dig.