Search code examples
javascriptsyntaxoperator-keywordunary-operator

+ operator before expression in javascript: what does it do?


I was perusing the underscore.js library and I found something I haven't come across before:

if (obj.length === +obj.length) { ... }

What is that + operator doing there? For context, here is a direct link to that part of the file.


Solution

  • The unary + operator can be used to convert a value to a number in JavaScript. Underscore appears to be testing that the .length property is a number, otherwise it won't be equal to itself-converted-to-a-number.