es6中object新增了什么方法

发布时间:2022-10-24 16:57:30 作者:iii
来源:亿速云 阅读:138

ES6中Object新增了什么方法

ES6(ECMAScript 2015)是JavaScript语言的一次重大更新,引入了许多新特性,极大地提升了开发效率和代码的可读性。在ES6中,Object对象也新增了一些实用的方法,这些方法使得开发者能够更方便地操作对象。本文将详细介绍ES6中Object新增的方法,并通过示例代码帮助读者更好地理解这些方法的使用场景。

1. Object.assign()

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,并返回目标对象。

语法

Object.assign(target, ...sources)

示例

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const result = Object.assign(target, source);

console.log(result); // { a: 1, b: 4, c: 5 }
console.log(target); // { a: 1, b: 4, c: 5 }

注意事项

2. Object.is()

Object.is() 方法用于比较两个值是否严格相等,与 === 操作符类似,但在处理 NaN+0-0 时有区别。

语法

Object.is(value1, value2)

示例

console.log(Object.is('foo', 'foo')); // true
console.log(Object.is({}, {})); // false

console.log(Object.is(NaN, NaN)); // true
console.log(NaN === NaN); // false

console.log(Object.is(+0, -0)); // false
console.log(+0 === -0); // true

注意事项

3. Object.setPrototypeOf()

Object.setPrototypeOf() 方法用于设置一个对象的原型(即内部 [[Prototype]] 属性)到另一个对象或 null

语法

Object.setPrototypeOf(obj, prototype)

示例

const obj = {};
const proto = { foo: 'bar' };

Object.setPrototypeOf(obj, proto);

console.log(obj.foo); // 'bar'

注意事项

4. Object.getPrototypeOf()

Object.getPrototypeOf() 方法用于获取指定对象的原型(即内部 [[Prototype]] 属性)。

语法

Object.getPrototypeOf(obj)

示例

const obj = {};
const proto = { foo: 'bar' };

Object.setPrototypeOf(obj, proto);

console.log(Object.getPrototypeOf(obj) === proto); // true

注意事项

5. Object.keys()

Object.keys() 方法返回一个由给定对象的自身可枚举属性组成的数组。

语法

Object.keys(obj)

示例

const obj = { a: 1, b: 2, c: 3 };

console.log(Object.keys(obj)); // ['a', 'b', 'c']

注意事项

6. Object.values()

Object.values() 方法返回一个由给定对象的自身可枚举属性值组成的数组。

语法

Object.values(obj)

示例

const obj = { a: 1, b: 2, c: 3 };

console.log(Object.values(obj)); // [1, 2, 3]

注意事项

7. Object.entries()

Object.entries() 方法返回一个由给定对象的自身可枚举属性的键值对组成的数组。

语法

Object.entries(obj)

示例

const obj = { a: 1, b: 2, c: 3 };

console.log(Object.entries(obj)); // [['a', 1], ['b', 2], ['c', 3]]

注意事项

8. Object.fromEntries()

Object.fromEntries() 方法将一个键值对列表转换为一个对象。

语法

Object.fromEntries(iterable)

示例

const entries = [['a', 1], ['b', 2], ['c', 3]];

const obj = Object.fromEntries(entries);

console.log(obj); // { a: 1, b: 2, c: 3 }

注意事项

9. Object.getOwnPropertySymbols()

Object.getOwnPropertySymbols() 方法返回一个由给定对象自身的所有 Symbol 属性组成的数组。

语法

Object.getOwnPropertySymbols(obj)

示例

const obj = {};
const sym = Symbol('foo');

obj[sym] = 'bar';

console.log(Object.getOwnPropertySymbols(obj)); // [Symbol(foo)]

注意事项

10. Object.getOwnPropertyDescriptors()

Object.getOwnPropertyDescriptors() 方法返回一个对象的所有自身属性的描述符。

语法

Object.getOwnPropertyDescriptors(obj)

示例

const obj = {
  a: 1,
  get b() {
    return 2;
  }
};

console.log(Object.getOwnPropertyDescriptors(obj));
/*
{
  a: {
    value: 1,
    writable: true,
    enumerable: true,
    configurable: true
  },
  b: {
    get: [Function: get b],
    set: undefined,
    enumerable: true,
    configurable: true
  }
}
*/

注意事项

总结

ES6 为 Object 对象新增了许多实用的方法,这些方法使得开发者能够更方便地操作对象。本文详细介绍了 Object.assign()Object.is()Object.setPrototypeOf()Object.getPrototypeOf()Object.keys()Object.values()Object.entries()Object.fromEntries()Object.getOwnPropertySymbols()Object.getOwnPropertyDescriptors() 等方法的使用场景和注意事项。掌握这些方法将有助于提高代码的可读性和开发效率。

推荐阅读:
  1. ES6中Object属性如何使用
  2. ES6中数组array新增方法的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

es6 object

上一篇:es6中迭代数组的方法有哪些

下一篇:如何开发一个提示颜色代码的VS Code插件

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》