一元否定運算子( - )
一元否定(-
)在其運算元之前,在嘗試將其轉換為數字後否定它。
句法:
-expression
返回:
- 一個
Number
。
描述
一元否定(-
)可以轉換與一元加(+
)運算子相同的型別/值。
無法轉換的值將評估為 NaN
(沒有 -NaN
)。
例子:
-42 // -42
-"42" // -42
-true // -1
-false // -0
-null // -0
-undefined // NaN
-NaN // NaN
-"foo" // NaN
-{} // NaN
-function(){} // NaN
請注意,嘗試轉換陣列可能會導致意外的返回值。
在後臺,陣列首先轉換為它們的字串表示:
[].toString() === '';
[1].toString() === '1';
[1, 2].toString() === '1,2';
然後,運算子會嘗試將這些字串轉換為數字:
-[] // -0 ( === -'' )
-[1] // -1 ( === -'1' )
-[1, 2] // NaN ( === -'1,2' )