2017-02-21 33 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

相關問題