在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關鍵字聲明的對象),那么無法給其添加新的屬性。只能修改已有的屬性。