13、访问提属性
let attribute = { id: 11, sname: '名字' }; // 给 attribute 对象添加两个属性:_age 和 age // age 作为保镖保护 _age // 第一步 Object.defineProperties(attribute, { // 先添加一个半隐藏的 _age _age: { // 值 value: 26, // 可以改 writable: true, // 半隐藏 enumerable: false, // 双保险 configurable: false, }, // 再为 _age 添加一个保镖 -- 访问器属性 age: { get: function() { return this._age; }, set: function(value) { if (value >= 18 && value <= 65) { this._age = value; } else { throw Error('年龄必须介于18~65之间。'); } }, enumerable: true, configurable: false } }); console.log(attribute); // {id: 11, sname: "名字", _age: 26} console.log(attribute.age); // 26 console.log(attribute._age); // 26 attribute.age = 27; console.log(attribute.age); // 27 attribute.age = 16; console.log(attribute.age); // Uncaught Error: 年龄必须介于18~65之间。