Javascript Freecodecamp“不要使用布尔值作为构造函数”

Rob*_*ski 1 html javascript css oop

当我开始免费代码营的“Falsy Bouncer”挑战时,我遇到了一个小问题。当我尝试创建一个新的布尔对象时,如下所示:

var bool = new Boolean();
Run Code Online (Sandbox Code Playgroud)

出现一个黄色三角形并显示“不要使用布尔值作为构造函数”。

我可以很容易地绕过这个而不使用对象,或者使用不同的方法,就像它在布尔对象文档中所说的那样,挑战并不是很困难,但我只是不知道为什么我不能在 Freecodecamp 代码窗口中创建一个新对象? 它在函数的外部或内部执行此操作,并且带有或不带有任何参数。

有谁知道为什么会发生这种情况?

kai*_*tan 5

来自 MDN ~

不要使用布尔对象将非布尔值转换为布尔值。相反,使用 Boolean 作为函数来执行此任务:

var x = Boolean(expression);     // preferred 
var x = new Boolean(expression); // don't use
Run Code Online (Sandbox Code Playgroud)