我在 JS 中声明了一个对象并尝试为其属性赋值。 但当只定义一个属性时我可以做到这一点,但不能定义多个属性。
这很好用:
let User = {
name
};
User['name']='Praveen';
alert(User.name);
但这并不
let User = {
name,
email
};
User['name']='Praveen';
User['email']='incopraveen@gmail.com';
alert(User.email); //says email is not defined.
注意:我也尝试删除分号。 也尝试过点符号
最佳答案
因为:
let User = {
name,
email
};
是以下内容的缩写:
let User = {
name: name,
email: email,
};
因此它直接将两个属性初始化为变量 name
和email
所保存的值。 name
已定义,它是您所在页面的名称,您可以轻松检查:
console.log(name);
但是电子邮件尚未定义,尝试获取未声明的变量会导致错误:
console.log(email); // email is not defined
要解决这个问题,请在之前显式声明两个变量:
let name = "test";
let email = "test@example.com";
let User = {
name,
email
};
或者根本不初始化属性:
let User = {};
或者直接将属性设置为一个值:
let User = {
name: "test",
email: "test@example.com",
};
关于无法定义javascript对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53251085/