Objekt a objektové konstruktory v JavaScriptu?
V živém světě objektově orientovaného programování již známe význam tříd a objektů, ale na rozdíl od jiných programovacích jazyků nemá JavaScript tradiční třídy, jak je známe z jiných jazyků. JavaScript však má objekty a konstruktory, které pracují většinou stejným způsobem a provádějí stejný druh operací.

  • Konstruktory jsou obecné funkce jazyka JavaScript, které se používají s klíčovým slovem „new“. Konstruktory jsou v JavaScriptu dvojího typu, tj. vestavěné konstruktory(pole a objekt) a vlastní konstruktory(definují vlastnosti a metody pro konkrétní objekty).
  • Konstruktory mohou být užitečné, když potřebujeme způsob, jak vytvořit „typ“ objektu, který lze použít vícekrát, aniž bychom museli objekt pokaždé znovu definovat, a toho lze dosáhnout pomocí funkce Object Constructor. Je konvencí psát název konstruktorů s velkým písmenem, abychom je odlišili od běžných funkcí.

Příklad uvažujme následující kód:

function Automobile(color) { this.color=color;}var vehicle1 = new Automobile ("red");

Funkce „Automobil()“ je konstruktor objektu a jeho vlastnosti a metody, tj. barva, jsou v ní deklarovány předřazením klíčového slova „this“. Objekty definované pomocí objektového konstruktoru se pak stávají instancemi pomocí klíčového slova „new“.

Při volání new Automobile() provede JavaScript dvě věci:

  1. Vytvoří čerstvý nový objekt(instanci) Automobile() a přiřadí jej do proměnné.
  2. Nastaví vlastnost konstruktoru, tedy „barvu“ objektu na Automobil.

Object.create() Metoda
Object.create() methord slouží k vytvoření nového objektu se zadaným prototypem objektu a vlastnostmi. Metoda Object.create() vrací nový objekt se zadaným prototypovým objektem a vlastnostmi.

Aplikace:

  • Metoda Object.create() se používá pro implementaci dědičnosti.

Syntaxe:

Object.create(prototype)

Použité parametry:

  1. prototyp :
  2. Je to objekt prototypu, ze kterého má být vytvořen nový objekt.

  3. objekt vlastností : Je to nepovinný parametr. Určuje vyjmenované vlastnosti, které mají být přidány k nově vytvořenému objektu.

Vrácená hodnota:
Object.create() vrací nový objekt se zadaným objektem prototypu a vlastnostmi.

Níže jsou uvedeny příklady výše uvedené funkce.

Příklady:

Vysvětlení: V tomto příkladu jsou dvě funkce „fruits“ a „apple“. je vytvořena nová instance jablka, která je pojmenována jako „app“ a byla specifikována prototypem a vlastností „fruits“, tj. this.name = ‚fruit 1‘.

Vysvětlení: V tomto příkladu jsou dvě funkce „fruits“ a „apple“. je vytvořena nová instance jablka, která je pojmenována jako „app“ a byla specifikována prototypem a vlastností „fruits“, tj. this.name = ‚fruit 1‘ a this .season = ‚summer‘.

Kódy pro výše uvedené funkce jsou uvedeny níže.

Kód 1:



Výstup :

"fruit 1"

Kód 2:



OUTPUT :

"fruit 1""summer"

Výjimky :

  • Objekt.create( ) metoda vyhodí výjimku TypeError, pokud parametr propertiesObject není null.
  • Object.create( ) metoda vyhodí výjimku TypeError, pokud je parametr propertiesObject jiný než primitivní objekt.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.