El primer paso para mejorar la relación con javascript es "objetivar con función invariante ~ object.seal ~".

SOURCE 6965 palabras JavaScript

Problema

var obj = {x:2, y:3};
Object.seal(obj);

obj.z = 4;
Object.keys(obj); //=>?

delete obj.y; 
Object.keys(obj); //=>?

obj.x = 20;
obj.x; //=>?
























Respuesta

var obj = {x:2, y:3};
Object.seal(obj);

//プロパティ追加はできない
obj.z = 4;
Object.keys(obj); //=>["x", "y"]

//プロパティ削除はできない
delete obj.y;     //=> false
Object.keys(obj); //=> ["x", "y"]

//プロパティ値変更は可能
obj.x = 20;
obj.x; //=> 20