检查 属性 是否存在于 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];
        }
    }