在JavaScript中查找布尔值的变量名

时间:2019-05-23 09:55:42

标签: javascript

在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())

1 个答案:

答案 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);


布尔基元不是函数,它们没有名称。

给定一组变量或对象属性,您可以依次测试每个变量或对象属性以找到布尔值的匹配项,然后输出变量/属性的名称……但这不是同一回事。