如果我在类上定义了属性或函数,我可以获得它的名称。例如我可以用这个得到一个类名...
console.log(`${this.constructor.name} is my name.);
或带有
的函数名称fnA() {
console.log(`There is a function called ${this.fnA.name});
}
<小时/>
但是我想知道尚未声明的属性/函数的名称,即 typeof
是 undefined
。这意味着 .name
失败。
有没有办法获取未定义
字段的代码中的名称?
或者如 @skyboyer put it :“(我)获取一些函数作为参数,如果它未定义(我)想知道原始变量名称是什么”
类似这样的事情...
if (typeof this.missing == 'undefined') {
console.log(`${getTheName(this.missing)} needs to be created.`);
}
最佳答案
let ns = new Proxy({}, {
get (target, name) {
if (name in target) {
return target[name]
}
// handle missing values
console.log(name)
}
})
ns.contains = true
// does nothing
ns.contains
// logs 'missing'
ns.missing
关于javascript - 属性名称为 `undefined`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47336257/