{site_name}

{site_name}

🌜 搜索

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对象。