Dado un objeto obj
, me gustaría definir una propiedad de solo lectura 'prop'
y establecer su valor en val
. ¿Es esta la manera correcta de hacer eso?Definición de propiedades de solo lectura en JavaScript
Object.defineProperty(obj, 'prop', {
get: function() {
return val;
}
});
El resultado debería ser (por val = 'test'
):
obj.prop; // 'test'
obj.prop = 'changed';
obj.prop; // still 'test' since it's read-only
Este método funciona por cierto: http://jsfiddle.net/GHMjN/
Sólo soy seguro si esta es la forma más fácil/más suave/más adecuada para hacerlo ...
Posible duplicado: http://stackoverflow.com/questions/366047/can-read-only-properties-be-implemented-in-pure-javascript (Si no desea admitir navegadores antiguos, su método es el mejor) –