在JavaScript中,变量可以指向一个对象,而对象是可以有属性和方法的。如果你想给一个已经存在的变量(假设它指向一个对象)添加属性,你可以直接通过点符号(.
)或者方括号([]
)来添加。
let person = {}; // 创建一个空对象
person.name = "Alice"; // 添加一个名为"name"的属性,并赋值为"Alice"
let person = {}; // 创建一个空对象
person["age"] = 30; // 添加一个名为"age"的属性,并赋值为30
你也可以使用变量作为键来动态添加属性:
let key = "city";
let person = {};
person[key] = "New York"; // 添加一个名为"city"的属性,并赋值为"New York"
for...in
循环或Object.keys()
方法中。如果你遇到了一个问题,比如想要给一个对象添加属性,但是该属性没有成功添加,可能的原因包括:
"use strict";
let obj = Object.create({}, {
prop: {
value: "value",
writable: false // 设置为只读
}
});
// 下面的代码会抛出错误,因为prop是只读的
// obj.prop = "new value"; // TypeError: Cannot assign to read only property 'prop' of object
// 正确的做法是修改可写属性或者添加新属性
obj.newProp = "new value"; // 成功添加新属性
确保在尝试修改对象属性之前,对象是可扩展的,并且属性是可写的。
领取专属 10元无门槛券
手把手带您无忧上云