在js中,我们可以查找函数的名称
var func1 = function() {}
console.log(func1.name) //prints func1
我可以为布尔值做同样的事情吗?
var myMightyBoolean = true
console.log(myMightyBoolean.name) //prints myMightyBoolean, this doesnt work thus the question
编辑:以下内容允许这样做,但仅在某些条件下,请查看下面的评论或更多的顶级答案
console.log(Object.keys({myMightyBoolean} .pop())
答案 0 :(得分:3)
否。
函数名称是该函数的功能。
const foo = function bar () {};
console.log(foo.name);
如果您创建匿名函数,则它将在创建时从为其分配的变量中获取名称。
const foo = function () {};
console.log(foo.name);
但仅在创建时:
function makeFunction() {
return function () {};
}
const foo = makeFunction();
console.log(foo.name);
布尔基元不是函数,它们没有名称。
给定一组变量或对象属性,您可以依次测试每个变量或对象属性以找到布尔值的匹配项,然后输出变量/属性的名称……但这不是同一回事。