JavaScript is one of the most versatile and widely used programming languages in the world. It powers everything from simple websites to complex we...
For further actions, you may consider blocking this person and/or reporting abuse
There is no such operator, you are simply using the logical not (
!
) operator twice.I would have highly suggested googling the double bang operator, before you responded saying there is no such thing...
Could you point out to me where in the list of unary operators in the official language specification it appears?
tc39.es/ecma262/#sec-unary-operators
Ahh okay I misread what you said, sorry. It's technically not its own operator, just a combination of 2 logical nots.
However, it is widely known as the double bang operator so I wouldn't go as far as saying "there's no such operator".
I would, as it creates a misunderstanding of the language and what's going on
I mean, the += operator isn't in the list of unary operators, but it's still widely used and known as a JavaScript operator.
He also never stated that !! was a unary operator.
The
+=
operator isn't in the list of unary operators because it isn't one. It is an assignment operator. Assignment operators take two operands.The very fact that he talked about it as a single operator and shows it used in the a manner it is - implies that he thinks it is a unary operator.
While Jon is technically right... the double bang name is widely used to name the trick of using 2 single bang operators to convert a value to boolean.
Documentations are not law books. take a seat and have a beer :)
Boolean(user)
is how that should be done.Yup
Boolean(user)
it should be but something likeuser != null
would be even better. Don't try and be smart with funky syntax. You could also use~~number
to floor it (5.123 becomes 5), but jokes on you when you run into negative numbers and get an off by one error ๐@jonrandy Such cool post