-
属性的简洁表示法
-
省略同名的属性值
-
省略方法的function
-
案例:属性简写
//ES6 允许在对象中只写属性名,不写属性值。这时,属性值等于属性名所代表的变量 //案例 1 let foo = 'bar'; let baz = {foo}; console.log(baz); //等同于 let baz = {foo: foo}; //案例 2 function f(x , y) { return {x, y}; } console.log(f(1,2)); //等同于 function f(x , y) { return {x: x, y: y}; }
-
案例:方法简写
let obj = { method(){ return "Hello !"; } }; console.log(obj.method()); //等同于 let obj = { method: function(){ return "Hello !"; } };
-
案例:综合实例
let birth = '2000/01/01'; let Persion = { name:'张三', //等同于 birth: birth birth, //等同于 hello: function(){} hello(){ console.log('我的名字是:',this.birth); } }; Persion.hello();
-
-
Object.assign
-
将源对象的属性复制到目标对象上:Object.assign(target, source1, source2…)
//Object.assign(target, source1, source2..) let obj = {name : 'kobe', age : 39, c: {d: 2}}; let obj1 = {}; Object.assign(obj1, obj); console.log(obj1, obj1.name);
-
-
__ proto__ 属性
-
ES6的__proto__可以的得到或者设置对象的prototype
使用__proto__可以直接在对象表达式里面设置prototype//直接操作 __proto__ 属性 let obj3 = {name : 'anverson', age : 41}; let obj4 = {}; obj4.__proto__ = obj3; console.log(obj4, obj4.name, obj4.age);
-
-
Object.is(v1, v2)
-
判断2个数据是否完全相等
console.log(Object.is('abc', 'abc'));//true console.log(Object.is(NaN, NaN));//true console.log(0 == -0);//true console.log(Object.is(0, -0));//false
-
ES6之 对象的扩展(四)
最新推荐文章于 2023-10-04 22:01:43 发布