Getter a Setter JavaScriptu (s příklady)

V tomto kurzu se na příkladech dozvíte o metodách getterů a setterů JavaScriptu.

V JavaScriptu existují dva druhy vlastností objektu:

  • Vlastnosti dat
  • Vlastnosti přistupujícího objektu

Datová vlastnost

Tady je příklad datové vlastnosti, kterou jsme používali v předchozích cvičeních.

 const student = ( // data property firstName: 'Monica'; );

Vlastnost přistupujícího objektu

V JavaScriptu jsou vlastnosti přistupujícího objektu metody, které získají nebo nastaví hodnotu objektu. K tomu používáme tato dvě klíčová slova:

  • get - definovat getrovou metodu pro získání hodnoty vlastnosti
  • set - definovat metodu setter pro nastavení hodnoty vlastnosti

Získávač JavaScript

V JavaScriptu se metody getru používají pro přístup k vlastnostem objektu. Například,

 const student = ( // data property firstName: 'Monica', // accessor property(getter) get getName() ( return this.firstName; ) ); // accessing data property console.log(student.firstName); // Monica // accessing getter methods console.log(student.getName); // Monica // trying to access as a method console.log(student.getName()); // error

Ve výše uvedeném programu getName()je vytvořena metoda getru pro přístup k vlastnosti objektu.

 get getName() ( return this.firstName; )

Poznámka: K vytvoření metody getter getse používá klíčové slovo.

A také při přístupu k hodnotě přistupujeme k hodnotě jako vlastnost.

 student.getName;

Při pokusu o přístup k hodnotě jako metodě dojde k chybě.

 console.log(student.getName()); // error

Nastavovač JavaScriptu

V JavaScriptu se metody setteru používají ke změně hodnot objektu. Například,

 const student = ( firstName: 'Monica', //accessor property(setter) set changeName(newName) ( this.firstName = newName; ) ); console.log(student.firstName); // Monica // change(set) object property using a setter student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

Ve výše uvedeném příkladu se metoda setteru používá ke změně hodnoty objektu.

 set changeName(newName) ( this.firstName = newName; )

Poznámka: K vytvoření metody setter setse používá klíčové slovo.

Jak ukazuje výše uvedený program, hodnota firstNameje Monica.

Poté se hodnota změní na Sarah.

 student.chageName = 'Sarah';

Poznámka : Setter musí mít přesně jeden formální parametr.

JavaScript Object.defineProperty ()

V JavaScriptu můžete také použít Object.defineProperty()metodu pro přidání getterů a setterů. Například,

 const student = ( firstName: 'Monica' ) // getting property Object.defineProperty(student, "getName", ( get : function () ( return this.firstName; ) )); // setting property Object.defineProperty(student, "changeName", ( set : function (value) ( this.firstName = value; ) )); console.log(student.firstName); // Monica // changing the property value student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

Ve výše uvedeném příkladu Object.defineProperty()se používá pro přístup a změnu vlastnosti objektu.

Syntaxe pro použití Object.defineProperty()je:

 Object.defineProperty(obj, prop, descriptor)

Object.defineProperty()Metoda má tři argumenty.

  • První argument je objectName.
  • Druhým argumentem je název vlastnosti.
  • Třetí argument je objekt, který popisuje vlastnost.

Zajímavé články...