!!
总是可以很好地转换 String、undefined
、Object 和 Number 类型到 JavaScript 中的 Boolean 类型:
!!0 // false
!!1 // true
!!10 // true
!!"" // true
!!"any" // true
!!undefined // false
!!null // false
!!NaN // false
!!{} // true
似乎使用 !!
是完全安全的。我见过有人用它来转换变量。
但我不确定 ++
或 --
是否可以将 String 类型转换为 Number 类型.在这些示例中,使用 ++
进行转换看起来是安全的:
var ten = "10";
ten++ // 10
var nineHalf = "9.5";
nineHalf++ // 9.5
var n = "-10.06";
n++ // -10.06
是否存在 ++
/--
不能作为 parseFloat
工作的情况?
最佳答案
只需使用一个+
(一元加运算符)。这是一种常见的做法,就像 bool 值的 !!
一样。
(+"10.06")
++
版本让我害怕增量运算符在我不注意的时候做坏事。
编辑:当然,postIncrement 运算符甚至不适用于字符串文字。
"10.06"++ //syntax error
关于javascript - 我可以始终使用++ 或 -- 作为 parseFloat 的简写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720460/