如何在JavaScript对象中添加键值对?
大家好!我刚开始学习JavaScript,遇到了一个问题。我有一个空对象,是这样创建的:
```javascript
let myObject = {};
```
或者,例如,我已经有一个包含一些数据的对象:
```javascript
let user = {
name: "安娜",
age: 25
};
```
现在我需要动态地向这个对象添加一个新属性,比如"email"或"isAdmin"。我尝试了几种方法,但不确定哪种是正确的,以及在不同情况下最好使用哪种。
以下是我尝试过的方法:
1. 直接通过点号赋值:`user.email = "anna@example.com";`
2. 使用方括号:`user["email"] = "anna@example.com";`
3. 使用`Object.assign()`方法
4. 使用spread操作符:`user = {...user, email: "anna@example.com"}`
所有这些方法似乎都有效,但我不明白:
- 它们之间有什么区别?
- 哪种方法被认为是最佳实践?
- 如果键存储在变量中该怎么办?