四、ES6中对象的扩展
对象的属性
ES6中允许直接将变量和函数作为对象的属性和方法。
let name = "张无忌";
function sayMe() {
console.log("this is 张无忌");
}
var obj = {
// ES6运行变量名直接作为对象的属性和方法
name,
sayMe,
};
console.log(obj.name);//张无忌Object的方法
is()对同值相等算法的具体实现
console.log(Object.is(+0, -0)); // false console.log(Object.is(NaN, NaN)); // trueassign(target,...sources)方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。
target:目标对象sources:源对象- 返回值:目标对象
var obj = { name: "张无忌", age: 18, }; var target = {}; let result = Object.assign(target, obj); console.log(result, target); // { name: '张无忌', age: 18 } { name: '张无忌', age: 18 }
super关键字
super用于指向当前对象的原型对象。
var prop = {
age: 18,
};
var obj = {
name: "张无忌",
sayMe() {
console.log(super.age); // prop.age
},
};
Object.setPrototypeOf(obj, prop);
obj.sayMe();对象的扩展运算符
用于取出参数对象的所有可遍历属性,拷贝到当前对象之中。
var obj = {
name: "张无忌",
age: 18,
};
// 将元对象的可枚举的属性复制到目标对象。
var target = { ...obj };
console.log(target); // { name: '张无忌', age: 18 } 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小康博客!
评论
TwikooDisqusjs









