javascript中的单加运算符

jvi*_*tti 24 javascript

刚看到下划线的来源:

if (obj.length === +obj.length) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

怎么plus办?我以前从未见过这个.

它被认为是开发人员的好习惯吗?

Jos*_*ber 32

plus将字符串转换为float.您提供的代码等同于以下内容:

if ( obj.length === Number(obj.length) ) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

  • 这相当于`Number(...)`,而不是`parseFloat(...)`,如输入案例"0xf"所示. (5认同)
  • 它也相当于`if(typeof obj.length ==="number")`,这会更好,因为它更容易混淆. (4认同)
  • `if(var === !! var)`与布尔相同的技巧 (3认同)