我知道你不應該在JS中使用布爾對象來代替布爾基元。這只是好奇心。是否可以在JavaScript中更改布爾對象的原始值?
var foo = new Boolean();
foo的原始值現在是false
。我如何將其更改爲true
?
我知道你不應該在JS中使用布爾對象來代替布爾基元。這只是好奇心。是否可以在JavaScript中更改布爾對象的原始值?
var foo = new Boolean();
foo的原始值現在是false
。我如何將其更改爲true
?
原來你不能。 Boolean
,String
,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)
布爾對象只是一個布爾值的容器,它不能被改變。
此外,不建議使用它,因爲它減慢執行速度,並作爲文檔中描述的新關鍵字的代碼複雜:
'foo = true;' –
不;它是不可變的。 – SLaks
你可以這樣做:foo = new Boolean(true) –