2017-02-21 32 views
1

我知道你不应该在JS中使用布尔对象来代替布尔基元。这只是好奇心。是否可以在JavaScript中更改布尔对象的原始值?

var foo = new Boolean(); 

foo的原始值现在是false。我如何将其更改为true

+1

'foo = true;'

+3

不;它是不可变的。 – SLaks

+2

你可以这样做:foo = new Boolean(true) –

回答

0

原来你不能。 BooleanString,Number - 他们都没有方法来改变他们的价值,因为他们是不可变的Date确实有setter方法,但在引擎盖下,该对象可能被丢弃,并用新设置的属性替换为新的方法。

var date = new Date(); // Tue Feb 21 2017 11:28:21 GMT-0600 (CST) 
date.setFullYear(2016); // Sun Feb 21 2016 11:28:21 GMT-0600 (CST) 
1

布尔对象只是一个布尔值的容器,它不能被改变。

此外,不建议使用它,因为它减慢执行速度,并作为文档中描述的新关键字的代码复杂:

https://www.w3schools.com/js/js_booleans.asp

相关问题