在ES6中,给对象添加属性有以下几种方式:
使用点操作符(.):可以直接通过点操作符给对象添加属性。例如:
const obj = {};
obj.property1 = 'value1';
obj.property2 = 'value2';
使用方括号操作符([]):也可以使用方括号操作符来给对象添加属性。这种方式可以动态设置属性名。例如:
const obj = {};
obj['property1'] = 'value1';
obj['property2'] = 'value2';
或者使用变量来设置属性名:
const obj = {};
const propertyName = 'property1';
obj[propertyName] = 'value1';
使用Object.defineProperty()方法:该方法可以在对象上定义一个新的属性或修改现有的属性。例如:
const obj = {};
Object.defineProperty(obj, 'property1', {
value: 'value1',
writable: true,
enumerable: true,
configurable: true
});
这种方式还可以设置属性的可写性(writable)、可枚举性(enumerable)和可配置性(configurable)等特性。
使用Object.assign()方法:该方法可以将一个或多个源对象的属性复制到目标对象中,并返回目标对象。如果目标对象中已经有同名的属性,那么源对象中的属性值会覆盖目标对象中的属性值。例如:
const obj = {};
Object.assign(obj, { property1: 'value1', property2: 'value2' });
这种方式可以同时添加多个属性。
需要注意的是,在使用以上方式给对象添加属性时,如果对象是一个常量(使用const关键字声明的对象),那么无法给其添加新的属性。只能修改已有的属性。