# nullish operator like ! operator

**URL:** https://es.discourse.group/t/nullish-operator-like-operator/530
**Category:** 💡 Ideas
**Created:** [November 5, 2020, 7:05pm UTC](https://es.discourse.group/t/nullish-operator-like-operator/530 "2020-11-05T19:05:17Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![seekr3](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/seekr3/32/476_2.png) [@seekr3](https://es.discourse.group/u/seekr3)
#### Post date: [November 5, 2020, 7:05pm UTC](https://es.discourse.group/t/nullish-operator-like-operator/530/1 "2020-11-05T19:05:17Z")

</div>

I liked the ?? operator they added recently. But it would also be nice if there was an is null like operator that worked similar to NOT (!).

```javascript
!undefined // true
!null // true
!false // true
!'' // true
!0 // true

// something like

?undefined // true
?null // true
?false // false
?'' // false
?0 // false

```

---

<div class="post-metadata">

### Author: ![bergus](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/bergus/32/152_2.png) [@bergus](https://es.discourse.group/u/bergus)
#### Post date: [November 5, 2020, 8:40pm UTC](https://es.discourse.group/t/nullish-operator-like-operator/530/2 "2020-11-05T20:40:20Z")

</div>

You can just write `value == null` for that.

---

<div class="post-metadata">

### Author: ![seekr3](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/seekr3/32/476_2.png) [@seekr3](https://es.discourse.group/u/seekr3)
#### Post date: [November 5, 2020, 8:54pm UTC](https://es.discourse.group/t/nullish-operator-like-operator/530/3 "2020-11-05T20:54:23Z")

</div>

So you can, I didn't know that. Thanks!

---

<div class="post-metadata">

### Author: ![Clemdz](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/clemdz/32/813_2.png) [@Clemdz](https://es.discourse.group/u/Clemdz)
#### Post date: [November 10, 2020, 6:42pm UTC](https://es.discourse.group/t/nullish-operator-like-operator/530/4 "2020-11-10T18:42:06Z")

</div>

I'm personally a bit uncomfortable using loose equality in Javascript.

Actually I think this idea would be a good feature to add to the language. When you look at the latest operators added to the language, we can see similar operators like `?.` , `??` , or `??=` , achieving the same purpose: easing comparisons with nullish values. This proposal would stay consistent with them.

---

<div class="post-metadata">

### Author: ![Clemdz](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/clemdz/32/813_2.png) [@Clemdz](https://es.discourse.group/u/Clemdz)
#### Post date: [November 10, 2020, 6:47pm UTC](https://es.discourse.group/t/nullish-operator-like-operator/530/5 "2020-11-10T18:47:42Z")

</div>

However, I would treat the `?` operator in the same spirit than the `??` operator, instead of the `!` one.  
Like:

```javascript
if (?myVar) {
  // do something if myVar is defined (i.e. not undefined or null)
}

```

and the negation:

```javascript
if (!?myVar) {
  // do something if myVar is nullish
}

```
