fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

I discovered this week a little footgun if you happen to use this bit of syntactic sugar:

const object = {
    foo: 'bar',
}

switch (true) {
    case object && object.foo: {
        // This will never execute
    }

    default:
        // ...
}

The cases in your switch(true) must actually return true, not truthy, for the case to execute.

Using switch(true) is a bit of a controversial coding practice, since it's only meant to replace long if..else if..else chains. Literally has no additional utility except aesthetics... but I like it nevertheless :joy_cat:

NextGraph

@julian so adding a `&& true` at the end of your condition, should work, right?

```
case object && object.foo && true: {
```

@nextgraph@fosstodon.org in my case, I just casted it as bool: !!object.foo. You could also object.hasOwnProperty('foo'), although that would be true if object.foo = null too :joy: