在javascript中表达式之前的+运算符:它做了什么?

Joe*_*M05 11 javascript syntax unary-operator operator-keyword

我正在阅读underscore.js库,我找到了之前没有遇到过的东西:

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

那个+运营商在那做什么?对于上下文,这里是指向该文件部分的直接链接.

小智 7

一元运算+符可用于将值转换为JavaScript中的数字.下划线似乎测试该.length属性是一个数字,否则它将不等于自己转换为数字.

  • 用于强制转换为布尔值的`!!`"技巧". (7认同)