当前位置: 华文星空 > 汽车

ES6中对象新增了哪些扩展?

2023-02-23汽车

ES6 中,对象新增了以下扩展:

属性简写:当对象的属性名和属性值变量名相同时,可以省略属性名的冒号和属性值的变量名,例如:

const x = 1 ; const y = 2 ; const obj = { x , y };

方法简写:在对象中定义方法时,可以省略 function 关键字和冒号,例如:

const obj = { foo () { // ... } };

计算属性名:在定义对象的属性名时,可以使用表达式来计算属性名,例如:

const obj = { [ 'prop' + 42 ] : 'value' };

对象解构赋值:可以通过对象解构赋值,快速从对象中提取属性值,例如:

const { x , y } = obj ;

Object.assign 方法:可以使用 Object.assign 方法,将多个对象合并成一个对象,例如:

const obj1 = { x : 1 }; const obj2 = { y : 2 }; const obj3 = Object . assign ({}, obj1 , obj2 );

Symbol 类型的属性名:ES6 引入了 Symbol 类型,可以作为属性名,例如:

const prop = Symbol ( 'prop' ); const obj = { [ prop ] : 'value' };

Proxy 对象:ES6 引入了 Proxy 对象,可以用于拦截对象的操作,例如:

const proxy = new Proxy ( obj , { get ( target , prop ) { console . log ( `Getting ${ prop } ...` ); return target [ prop ]; } });