![38b03c1e8b5df714725698d8f43025ce.png](https://i-blog.csdnimg.cn/blog_migrate/5430196b49d04c6fbcce47ce58aae454.jpeg)
Object对象可谓是JS的重要核心内容,在你使用JS的过程中,你会发现自己的工作大部分都是在操作对象,ES6、ES7、ES8引入了不少新的方法,本篇文章笔者将带着大家一起熟悉下重点的新方法。
本篇文章,笔者将从以下几个方面进行介绍:
- 更简洁的语法
- Object.values() & Object.keys()
- Object.entries()
- __proto__
- Object.is()
- Object.setPrototypeOf()
- Object.assign()
- Object.getOwnPropertyDescriptors()
本篇文章阅读时间预计6分钟
更简洁的语法
定义属性
我们都知道定义一个对象,必须明确属性名和对应的值,及时属性名和声明的变量名一样(var a = {obj:obj}),ES6及后续版本允许我们用短的代码声明对象,用于将对象的属性分配给与属性同名的变量,我们一般会这么声明变量,代码如下:
var x = 1, y = 2;var object = { x: x, y: y };console.log(object.x); //output "1”
但是ES6之后,你可以这么做
let x = 1, y = 2;let object = { x, y };console.log(object.x);
定义方法
ES6提供了一种新的语法定义对象的方法,示例代码如下:
let object = { myFunction(){ console.log("Hello World!!!"); //Output "Hello World!!!" }}object.myFunction();
我们可以看出,省去了声明属性名,属性名即为方法名。
计算属性名
对象属性支持计算属性名。其允许在[]中放入表达式,计算结果可以当做属性名。
let object = {["first" + "Name"]: "Eden