如何建立一个企业的网站,wordpress媒体模板,关键词搜索排名怎么查看,微分销平台 教程ES6对象扩展是指在ES6中新增的一些对象属性和方法#xff0c;包括对象属性的简写、计算属性名、对象方法的简写、对象的可迭代性、拓展运算符等。
下面是一些常用的ES6对象扩展#xff1a;
对象属性的简写
ES6中#xff0c;当对象的属性名和赋值变量名相同时#xff0c;…ES6对象扩展是指在ES6中新增的一些对象属性和方法包括对象属性的简写、计算属性名、对象方法的简写、对象的可迭代性、拓展运算符等。
下面是一些常用的ES6对象扩展
对象属性的简写
ES6中当对象的属性名和赋值变量名相同时可以简写属性名称例如
let name Tom;
let age 20;
let obj {name,age
};这里的name和age属性名可以直接使用变量名来表示不需要再写属性名和变量名。
计算属性名
在ES6中可以使用计算属性名来动态设置对象属性名例如
let key name;
let obj {[key]: Tom
};
console.log(obj); // {name: Tom}这里使用了方括号来表示计算属性名key的值会被动态地赋给属性名。
对象方法的简写
在ES6中定义对象方法时可以使用简写语法例如
let obj {sayHello() {console.log(Hello World!);}
};
obj.sayHello(); // Hello World!这里的sayHello方法与函数定义类似不需要function关键字。
对象的可迭代性
在ES6中对象可以通过定义Symbol.iterator属性来实现可迭代性例如
let obj {name: Tom,age: 20,[Symbol.iterator]: function* () {let keys Object.keys(this);for (let key of keys) {yield [key, this[key]];}}
};
for (let [key, value] of obj) {console.log(key : value);
}这里使用了Symbol.iterator来定义一个迭代器使对象可以进行迭代操作。
拓展运算符
在ES6中可以使用拓展运算符...来展开数组、对象等例如
let arr1 [1, 2, 3];
let arr2 [4, 5, 6];
let arr3 [...arr1, ...arr2];
console.log(arr3); // [1, 2, 3, 4, 5, 6]let obj1 {name: Tom};
let obj2 {age: 20};
let obj3 {...obj1, ...obj2};
console.log(obj3); // {name: Tom, age: 20}这里使用了拓展运算符...将多个数组或对象合并到一起 ES6 在 Object 对象上新增了一些方法包括 Object.is(): 判断两个值是否完全相等包括 NaN 和 0/-0 的区别。 Object.assign(): 将源对象的属性复制到目标对象中可以同时复制多个对象。 Object.keys(): 返回一个数组包含目标对象的所有可枚举属性的键名。 Object.values(): 返回一个数组包含目标对象的所有可枚举属性的键值。 Object.entries(): 返回一个数组包含目标对象的所有可枚举属性的键名和键值。 Object.getOwnPropertyDescriptors(): 返回一个对象包含目标对象所有属性的描述对象。 Object.setPrototypeOf(): 设置一个对象的原型对象。 Object.getPrototypeOf(): 返回一个对象的原型对象。 Object.freeze(): 冻结一个对象使其不可修改。 Object.seal(): 封闭一个对象使其属性不可新增、删除但属性值可以修改。