在ES6中,給對(duì)象添加屬性有以下幾種方式:
使用點(diǎn)操作符(.):可以直接通過點(diǎn)操作符給對(duì)象添加屬性。例如:
const obj = {};
obj.property1 = 'value1';
obj.property2 = 'value2';
使用方括號(hào)操作符([]):也可以使用方括號(hào)操作符來給對(duì)象添加屬性。這種方式可以動(dòng)態(tài)設(shè)置屬性名。例如:
const obj = {};
obj['property1'] = 'value1';
obj['property2'] = 'value2';
或者使用變量來設(shè)置屬性名:
const obj = {};
const propertyName = 'property1';
obj[propertyName] = 'value1';
使用Object.defineProperty()方法:該方法可以在對(duì)象上定義一個(gè)新的屬性或修改現(xiàn)有的屬性。例如:
const obj = {};
Object.defineProperty(obj, 'property1', {
value: 'value1',
writable: true,
enumerable: true,
configurable: true
});
這種方式還可以設(shè)置屬性的可寫性(writable)、可枚舉性(enumerable)和可配置性(configurable)等特性。
使用Object.assign()方法:該方法可以將一個(gè)或多個(gè)源對(duì)象的屬性復(fù)制到目標(biāo)對(duì)象中,并返回目標(biāo)對(duì)象。如果目標(biāo)對(duì)象中已經(jīng)有同名的屬性,那么源對(duì)象中的屬性值會(huì)覆蓋目標(biāo)對(duì)象中的屬性值。例如:
const obj = {};
Object.assign(obj, { property1: 'value1', property2: 'value2' });
這種方式可以同時(shí)添加多個(gè)屬性。
需要注意的是,在使用以上方式給對(duì)象添加屬性時(shí),如果對(duì)象是一個(gè)常量(使用const關(guān)鍵字聲明的對(duì)象),那么無法給其添加新的屬性。只能修改已有的屬性。