我在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.
注:我也试过移除分号。尝试过的点表示法也是
发布于 2018-11-11 17:13:20
您的代码没有问题,请检查您是否有在User对象中设置的现有name,email
变量,
我认为您没有现有的名称和电子邮件变量。这样它就不能自己创建用户对象。
你可以这样做..。
let User = {};
User['name']='Praveen';
User['email']='incopraveen@gmail.com';
这个链接可以帮到你,https://alligator.io/js/object-property-shorthand-es6/
发布于 2018-11-11 17:09:11
因为这是:
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",
};
https://stackoverflow.com/questions/53251085
复制相似问题