Înțelegerea Getters și Setters în JavaScript

din ES2015, avem posibilitatea de a utiliza getters și setters pentru a defini proprietățile în obiectele noastre. În acest post vom înțelege cum funcționează.

Acest conținut publicat mai întâi pe newsletter-ul meu, săptămâna după publicarea buletinului informativ public pe blogul meu, dacă Vrei să fii primul care a citit Abonare

Banner

Înainte de citire Acest post vă recomandă să lectură:

  • înțelegere acest lucru în JavaScript
  • Înțelegerea tipurilor din JavaScript
  • În acest moment, ar trebui să știți comportamentul și atributele de la „DIV>

    Proprietățile obiectelor din JavaScript.

    În acest moment trebuie clarificat faptul că obiectele au trei tipuri de proprietăți:

    • Proprietăți de date: Proprietăți normale, care conțin date.
    • Proprietăți accesorii: Proprietăți care modifică comportamentul standard al ] și ]
    • _internal proprietăți: _ Proprietăți interne de limbă, cum ar fi ], ] sau ] printre altele.

    Care sunt getters și setters

    o funcție care obține o valoare a unei proprietăți este numită Getter și una care stabilește valoarea unui a Proprietatea se numește Setter.

    Această caracteristică a fost implementată în ES2015 și poate modifica funcționarea normală de stabilire sau obținere a valorii unei proprietăți, este cunoscută sub numele de proprietăți accesorii.

    Operare

    Uneori dorim valori bazate pe alte valori, pentru că accesorii de date sunt destul de utile.

    Pentru a le crea că folosim cuvintele cheie obțineți și setați

    const obj = { get prop() { return this.__prop__; }, set prop(value) { this.__prop__ = value * 2; },};obj.prop = 12;console.log(obj.prop); //24

    Noi creăm un obiect, cu o singură proprietate, care are un getter și un setter. În acest fel, de fiecare dată când vom stabili o valoare pentru Prop, se va înmulți cu două.

    Notă: Utilizați proporție per convenție, dar nu implică faptul că este o valoare specială, aceasta este o valoare normală.

    O altă modalitate de a crea o proprietate a accesorului este în mod explicit utilizând obiecte.defineproperty

    iv id = „5A39C39614”

Avantajul pe care îl avem În acest fel, este că putem seta atributele pe care vrem să le avem proprietatea.

caracteristici

un accesor de proprietate, are doar atributele configurabile și _Onumerabil, _ Dacă vă vedem atributele va vedea acest lucru.

Se recomandă definirea atât a setului și a getterului).

Dacă modul strict nu este utilizat și încercările de a modifica valoarea vor fi o eroare silențioasă.

O altă caracteristică importantă este că, dacă este setat u NA cu același nume într-un domeniu superior al lanțului prototip, accesorul de proprietate, va fi proprietatea pe care o predomină.

Să vedem un ultim exemplu

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *