javascript
変数の前にプラス記号が付いているのをよく見かけます +
が、これは何に使うのでしょうか? 実際、これは非常に単純です把变量转换成 number 类型
(さらに、変数 - 0 は 、変数の値を数値に変換する方法でもあります)。言うことは多くありませんが、直感的に理解できるように次の例を見てみましょう。
// null:返回 0
console.info(+null) // => 0
// undefined:返回 NaN
console.info(+undefined) // => NaN
// 获取当前的时间戳,相当于`new Date().getTime()`
console.info(+new Date())
// 布尔型转换为整型:true 返回 1,false 返回 0
console.info(+true) // => 1
console.info(+false) // => 0
// 空字符串:返回0
console.info(+'') // => 0
// 忽略前面的 0
console.info(+'010') // => 10
// 16进制转换成 10进制
console.info(+'0x3E8') // => 1000
// 科学计数法自动解析
console.info(+'1e3') // => 1000
console.info(+'1e-3') // => 0.001
// 无法解析的格式:返回 null
console.info(+'1,000') // => NaN
この時点で、これは実際には以下と同等であることを誰もが理解するはずです。
Number(value)
Number 関数のルールに従って値または NaN に変換されます。ルールは大まかに次のとおりです。
- ブール値: true は 1 を返し、false は 0 を返します。
- データ値、直接返す
- null、0を返す
- 未定義、NaN を返す
- 文字列の場合は、10 進数値に変換し、先頭の 0 を無視し (16 進数を除く)、空の文字列の場合は 0 を返し、浮動小数点数の場合は浮動小数点値を返します。その他の形式の文字列 (数字で始まるかどうかに関係なく、NaN を返します。文字列内の複数の小数点は、NaN を返します)