Comprensión de Getters e Setty en JavaScript

de ES2015, temos a posibilidade de usar Getters e Setters para definir propiedades nos nosos obxectos. Nesta publicación entenderemos como funcionan.

Este contido publicouno primeiro no meu boletín informativo, a semana despois de publicar o boletín público no meu blog, se Quere ser o primeiro en ler subscribirse

banner

antes de ler Esta publicación recomendo a lectura:

  • Comprender isto en javascript
  • Comprender os tipos en JavaScript
  • Comprender os obxectos en JavaScript

listo?

Neste momento debes coñecer o comportamento e os atributos do Propiedades dos obxectos en JavaScript.

Neste punto debe aclararse que os obxectos teñen tres tipos de propiedades:

  • Propiedades de datos: propiedades normais, que conteñen datos.
  • Propiedades de accesorios: propiedades que cambian o comportamento estándar de ] e ]
  • _Internais propiedades: _ Propiedades de lingua interna, como ], ] ou ] entre outros.

Cales son os getters e os axustes

Unha función que obtén un valor dunha propiedade chámase Getter e un que establece o valor dun Propiedade chámase Setter.

Esta característica foi implementada en ES2015 e pode modificar o funcionamento normal de establecer ou obter o valor dunha propiedade, é coñecida como propiedades de accesorios.

Operación

Ás veces queremos valores en función doutros valores, por iso os accesorios de datos son moi útiles.

Para crealos usamos as palabras clave Obtén e configure

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

Creamos un obxecto, cunha única propiedade, que ten un getter e un setter. Deste xeito, cada vez que fixamos un valor para a propósito, multiplicarase por dous.

Nota: Use Prop por convención, pero non implica que é un valor especial, este é un valor normal.

Outra forma de crear unha propiedade de accesorios está a usar explícitamente o obxecto.DefineProperty

const obj = {};Object.defineProperty(obj, //objeto target 'prop', //nombre propiedad { enumerable: true, configurable: true, get prop() { //getter return this.__prop__; }, set prop(value) { //setter this.__prop__ = value * 2; }, });obj.prop = 12;var atr = Object.getOwnPropertyDescriptor(obj, 'prop')console.log(atr); 

A vantaxe que temos en Deste xeito, é que podemos configurar os atributos que queremos ter a propiedade.

Características

Un accesorio de propiedade, só ten os atributos configurables e _onumerables, _IF vemos os seus atributos que nós verá isto.

Isto lévanos ao valor que non se pode substituír se o Setter da función non se usa ( Recoméndase definir tanto Setter como Getter).

Se o modo rigoroso non se usa e os intentos de modificar o valor será un erro silencioso.

Outra característica importante é que, se está definido Propiedade no mesmo nome nun alcance superior da cadea de prototipo, o accesorio de propiedade, será a propiedade que predomina.

Vexamos un último exemplo

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *