What does !+ (exclamation mark addition) mean in JavaScript?
Why is !+"000" true?
Why is !+"0010" false?
Tries:
!+"000" // true
!+"00010" // false
!+"0a0" // true
!+"0,0" // true
!+[0,0,0] // true
!+[0,1,0] // true
true+"000" // true000
I’ve tried to search:
- In JavaScript, why is "0" equal to false, but when tested by ‘if’ it is not false by itself?
- What does "!–" do in JavaScript?
- What is the !! (not not) operator in JavaScript?
Here I saw the code: JS – Check if string contain only 0
This information is hard to find on the Internet.
>Solution :
+ is unary plus. It’ll convert the expression that follows to a number.
Then, ! negates the expression that follows: if it’s truthy, the result is false. If it’s falsey, the result is true.
A couple of examples:
!+"000"
!0 // because '000', when converted to a number, is 0
true
!+"00010"
!10 // because "00010", when converted to a number, is 10
false // because 10 is truthy
!+[0,1,0]
!NaN // because arrays can't be converted to numbers directly (usually)
true