首页 > 代码库 > 读书笔记——《You Don't Know JS》
读书笔记——《You Don't Know JS》
第一部:《You don‘t know JS: this & Object prototype》
第三章 Object
对象常量
var myObject = {};Object.defineProperty( myObject, "FAVORITE_NUMBER", { value: 42, writable: false, configurable: false} );
禁止对象扩展
var myObject = { a: 2};Object.preventExtensions( myObject );myObject.b = 3;myObject.b; // undefined
使用preventExtensions方法,可禁止对象再次扩展。
Object.seal(..)
preventExtensions + configurable:false
Object.freeze(..)
s Object.seal(..) + writable:false
对象默认方法[[Get]]、[[PUT]]
自定义Getters和Setters
var myObject = { // define a getter for `a` get a() { return 2; }};Object.defineProperty( myObject, // target "b", // property name { // descriptor // define a getter for `b` get: function(){ return this.a * 2 }, // make sure `b` shows up as an object property enumerable: true });
var myObject = { // define a getter for `a` get a() { return this._a_; }, // define a setter for `a` set a(val) { this._a_ = val * 2; }};
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。