Objekt och objektkonstruktörer i JavaScript?
I den levande världen av objektorienterad programmering känner vi redan till vikten av klasser och objekt, men till skillnad från andra programmeringsspråk har JavaScript inte de traditionella klasserna som finns i andra språk. Men JavaScript har objekt och konstruktörer som i stort sett fungerar på samma sätt för att utföra samma typ av operationer.
- Konstruktörer är allmänna JavaScript-funktioner som används med nyckelordet ”new”. Konstruktörer finns av två typer i JavaScript dvs. inbyggda konstruktörer (array och objekt) och anpassade konstruktörer (definierar egenskaper och metoder för specifika objekt).
- Konstruktörer kan vara användbara när vi behöver ett sätt att skapa en ”typ” av objekt som kan användas flera gånger utan att behöva omdefiniera objektet varje gång, och detta kan åstadkommas med hjälp av Object Constructor-funktionen. Det är en konvention att skriva namnet på konstruktörer med versaler för att skilja dem från vanliga funktioner.
Titta till exempel på följande kod:
function Automobile(color) { this.color=color;}var vehicle1 = new Automobile ("red");
Funktionen ”Automobile()” är en objektkonstruktör och dess egenskaper och metoder dvs. ”color” deklareras inne i den genom att den föregås av nyckelordet ”this”. Objekt som definieras med hjälp av en objektkonstruktör görs sedan till instanter med hjälp av nyckelordet ”new”.
När new Automobile() anropas gör JavaScript två saker:
- Det skapar ett färskt nytt objekt (instans) Automobile() och tilldelar det till en variabel.
- Det ställer in konstruktörens egenskap dvs. ”color” för objektet till Automobile.
Object.create() Method
Object.create() methord används för att skapa ett nytt objekt med det angivna prototypobjektet och egenskaperna. Metoden Object.create() returnerar ett nytt objekt med det angivna prototypobjektet och egenskaperna.
Användningar:
- Object.create() används för att implementera arv.
Syntax:
Object.create(prototype)
Parametrar som används:
- prototyp :
Det är prototypobjektet från vilket ett nytt objekt ska skapas.
- propertiesObject : Det är en valfri parameter. Den anger de uppräkningsbara egenskaper som ska läggas till det nyskapade objektet.
Returnerat värde:
Object.create() returnerar ett nytt objekt med det angivna prototypobjektet och egenskaperna.
Exempel på ovanstående funktion ges nedan.
Exempel:
Förklaring: I det här exemplet finns det två funktioner ”fruits” och ”apple”.En ny instans av apple skapas med namnet ”app” och den har specificerats med prototypen och egenskapen ”fruits”, dvs. this.name = ’fruit 1’.
Förklaring: I det här exemplet finns det två funktioner ”fruits” och ”apple”: I det här exemplet finns det två funktioner ”fruits” och ”apple”.En ny instans av apple skapas med namnet ”app” och den har specificerats med prototypen och egenskapen ”fruits”, dvs. this.name = ’fruit 1’ och this .season = ’summer’.
Koderna för ovanstående funktion visas nedan.
Kod 1:
UTGÅNG :
"fruit 1"
Kod 2:
OUTPUT :
"fruit 1""summer"
Exceptions :
- Objekt.create( ) metoden ger upphov till ett TypeError undantag om propertiesObject parametern inte är null.
- Object.create( ) metoden ger upphov till ett TypeError undantag om propertiesObject parametern är ett icke primitivt objekt.