检查 属性 是否存在于 Javascript 对象中
Check if property exists in Javascript Object
class User{
constructor(username,description){
this.username = username
this.description = description
}
printInfo(info){
if (info in this){
return info
}
}
}
let newUser = new User("testUsername","testDescription")
newUser.printInfo(username)
当我尝试这个时,它在第 17 行给我一个关于 Uncaught ReferenceError
.
的错误
您在传递 用户名 属性 名称时忘记了引号。传递的 username
参数必须是 string newUser.printInfo("username")
.
如果没有引号,它将尝试引用名为 username
.
的(不存在的)全局变量
请注意,您的 printInfo
函数将只是 return 属性 的名称(与参数相同),而不是实际值。如果您想 return 用户名值,您必须以 this[info]
:
访问该密钥
...
printInfo(info){
if (info in this){
return this[info];
}
}
class User{
constructor(username,description){
this.username = username
this.description = description
}
printInfo(info){
if (info in this){
return info
}
}
}
let newUser = new User("testUsername","testDescription")
newUser.printInfo(username)
当我尝试这个时,它在第 17 行给我一个关于 Uncaught ReferenceError
.
您在传递 用户名 属性 名称时忘记了引号。传递的 username
参数必须是 string newUser.printInfo("username")
.
如果没有引号,它将尝试引用名为 username
.
请注意,您的 printInfo
函数将只是 return 属性 的名称(与参数相同),而不是实际值。如果您想 return 用户名值,您必须以 this[info]
:
...
printInfo(info){
if (info in this){
return this[info];
}
}