2011-02-13 23 views

Respuesta

5

Define un getter:

se une a un propiedad de objeto a una función que se llamará cuando que la propiedad se busca.

Lea sobre Getters and Setters.

Esta función es llamada cuando se accede a la propiedad:

var sth = obj.currentState 

en cuenta que no es una llamada de función (no hay ()), sino una propiedad de acceso normal.

A correspondiente setter se vería así:

set currentState(value) { 
    // do something with value 
    // value would be 42 in the next example 
} 

y sería llamado cuando se asigna un valor a la propiedad, por ejemplo,

obj.currentState = 42; 

El get y set Palabras clave a los operadores especiales para ser utilizados dentro de la notación literal de objetos. También es posible usar __defineGetter__ y __defineSetter__:

Parser.prototype.__defineGetter__('currentStatus', function() { 
    return this.state[this.state.length - 1]; 
}); 

No estoy seguro de qué versión se introdujo sin embargo, podría no ser compatible con todos los navegadores (especialmente IE;)).

+3

Se introdujo en ECMAScript 5, e IE9 fue el primer navegador con un motor funcional ES5. – user123444555621

Cuestiones relacionadas