Skip to content

What does the double negation operator !! do in JavaScript?

You might find the `!!` operator used in the wild. What does it mean?

Suppose you have an expression, which gives you a result.

You want this result to be a boolean. Either true or false.

Not a string, 0, an empty string, undefined, NaN or whatever. true or false.

The !! operator does that.

And in reality it’s two negation operators one after the other. There’s no !! operator in JavaScript. But there’s !.

It first negates the result of the expression, then it negates it again. In this way if you had a non-zero number, a string, an object, an array, or anything that’s truthy, you’ll get true back.

Otherwise you’ll get false.


→ Get my JavaScript Beginner's Handbook

I wrote 21 books to help you become a better developer:

  • HTML Handbook
  • Next.js Pages Router Handbook
  • Alpine.js Handbook
  • HTMX Handbook
  • TypeScript Handbook
  • React Handbook
  • SQL Handbook
  • Git Cheat Sheet
  • Laravel Handbook
  • Express Handbook
  • Swift Handbook
  • Go Handbook
  • PHP Handbook
  • Python Handbook
  • Linux Commands Handbook
  • C Handbook
  • JavaScript Handbook
  • Svelte Handbook
  • CSS Handbook
  • Node.js Handbook
  • Vue Handbook
...download them all now!

Related posts that talk about js: