ES6 (ECMAScript 2015)为JavaScript对象添加了一些新
▥前端
𝄐 0
es6对象的扩展,es6对象操作,es6新增哪些数组方法,es6对象赋值,es6 创建对象,es6中新增哪些数组方法
ES6 (ECMAScript 2015)为JavaScript对象添加了一些新的方法来简化常见的操作,包括:
1. Object.assign():用于将一个或多个源对象的属性复制到目标对象中。该方法可以用于创建对象的副本、合并多个对象等。
例子:
// 创建对象的副本
const obj1 = { foo: 'bar' };
const obj2 = Object.assign({}, obj1);
console.log(obj2); // { foo: 'bar' }
// 合并多个对象
const obj3 = { baz: 'qux' };
const obj4 = Object.assign({}, obj1, obj3);
console.log(obj4); // { foo: 'bar', baz: 'qux' }
2. Object.keys():返回一个包含给定对象所有可枚举属性名称的数组。
例子:
const obj = { foo: 'bar', baz: 'qux' };
console.log(Object.keys(obj)); // [ 'foo', 'baz' ]
3. Object.values():返回一个包含给定对象所有可枚举属性的值的数组。
例子:
const obj = { foo: 'bar', baz: 'qux' };
console.log(Object.values(obj)); // [ 'bar', 'qux' ]
4. Object.entries():返回一个包含给定对象所有可枚举属性名称及其对应值的数组。
例子:
const obj = { foo: 'bar', baz: 'qux' };
console.log(Object.entries(obj)); // [ [ 'foo', 'bar' ], [ 'baz', 'qux' ] ]
5. Object.getOwnPropertyDescriptors():返回一个给定对象所有自身属性的描述符的对象。
例子:
const obj = { foo: 'bar' };
console.log(Object.getOwnPropertyDescriptors(obj)); // { foo: { value: 'bar', writable: true, enumerable: true, configurable: true } }
6. Object.freeze():冻结一个对象,使其属性不能被修改、添加或删除。
例子:
const obj = { foo: 'bar' };
Object.freeze(obj);
obj.foo = 'baz'; // 无效操作
console.log(obj); // { foo: 'bar' }
7. Object.seal():封闭一个对象,使其属性不能被添加或删除(但已有属性可以修改)。
例子:
const obj = { foo: 'bar' };
Object.seal(obj);
obj.baz = 'qux'; // 无效操作
delete obj.foo; // 无效操作
obj.foo = 'baz'; // 有效操作
console.log(obj); // { foo: 'baz' }
这些方法可以帮助开发人员更轻松地处理和操作JavaScript对象。
ES6 (ECMAScript 2015)为JavaScript对象添加了一些新的方法来简化常见的操作,包括:
1. Object.assign():用于将一个或多个源对象的属性复制到目标对象中。该方法可以用于创建对象的副本、合并多个对象等。
例子:
// 创建对象的副本
const obj1 = { foo: 'bar' };
const obj2 = Object.assign({}, obj1);
console.log(obj2); // { foo: 'bar' }
// 合并多个对象
const obj3 = { baz: 'qux' };
const obj4 = Object.assign({}, obj1, obj3);
console.log(obj4); // { foo: 'bar', baz: 'qux' }
2. Object.keys():返回一个包含给定对象所有可枚举属性名称的数组。
例子:
const obj = { foo: 'bar', baz: 'qux' };
console.log(Object.keys(obj)); // [ 'foo', 'baz' ]
3. Object.values():返回一个包含给定对象所有可枚举属性的值的数组。
例子:
const obj = { foo: 'bar', baz: 'qux' };
console.log(Object.values(obj)); // [ 'bar', 'qux' ]
4. Object.entries():返回一个包含给定对象所有可枚举属性名称及其对应值的数组。
例子:
const obj = { foo: 'bar', baz: 'qux' };
console.log(Object.entries(obj)); // [ [ 'foo', 'bar' ], [ 'baz', 'qux' ] ]
5. Object.getOwnPropertyDescriptors():返回一个给定对象所有自身属性的描述符的对象。
例子:
const obj = { foo: 'bar' };
console.log(Object.getOwnPropertyDescriptors(obj)); // { foo: { value: 'bar', writable: true, enumerable: true, configurable: true } }
6. Object.freeze():冻结一个对象,使其属性不能被修改、添加或删除。
例子:
const obj = { foo: 'bar' };
Object.freeze(obj);
obj.foo = 'baz'; // 无效操作
console.log(obj); // { foo: 'bar' }
7. Object.seal():封闭一个对象,使其属性不能被添加或删除(但已有属性可以修改)。
例子:
const obj = { foo: 'bar' };
Object.seal(obj);
obj.baz = 'qux'; // 无效操作
delete obj.foo; // 无效操作
obj.foo = 'baz'; // 有效操作
console.log(obj); // { foo: 'baz' }
这些方法可以帮助开发人员更轻松地处理和操作JavaScript对象。
本文地址:
/show-277555.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。