Files
30-seconds-of-code/snippets/js/s/double-negation-operator.md
2023-05-18 23:29:52 +03:00

1.2 KiB

title, shortTitle, type, language, tags, author, cover, excerpt, dateModified
title shortTitle type language tags author cover excerpt dateModified
What does the double negation operator do in JavaScript? Double negation operator question javascript
type
chalarangelo memories-of-pineapple-2 You've probably come across the double negation operator (`!!`) before, but do you know what it does? 2022-07-26T05:00:00-04:00

JavaScript's negation operator (!) is a unary operator, used to invert the truth value of its operand. When used twice, known as the double negation operator (!!), it can be used to convert a value to a boolean.

const x = 1;
const y = null;

!!x; // true
!!y; // false

Using the double negation operator is functionally equivalent to using the Boolean() function, which we explored in depth in a previous article. In terms of readability and usability, I would still suggest using the Boolean() function. It conveys the intent of the operation more clearly, and it's easier to understand at a glance.

const x = 1;
const y = null;

Boolean(x); // true
Boolean(y); // false

const values = [0, 0, 2, 0, 3];
// Kinda readable, but not great
values.filter(x => !!x); // [2, 3]
// Arguably more readable
values.filter(Boolean); // [2, 3]