Today I Learned - Rocky Kev

TIL Casting values to JS booleans

POSTED ON:

TAGS:

Sometimes, you get something from a api like:

// json response
{
type: 'article',
length: '1200 words',
publishStatus: 1 // 0 - not published, 1 - published
}

For safety, you really want to cast publishStatus to a boolean.

You can do that with !!.


const isPublished = !!json.publishStatus;

How does it work?

The first bang reverse it and casts it to a boolean. So if it was a falsy value, it'll convert it to true.
The second bang reverses it again to it's original status, but keeping the boolean.

falsy value -> true -> false.


Related TILs

Tagged:

TIL what is npm Script

Despite their high usage they are not particularly well optimized and add about 400ms of overhead. In this article we were able to bring that down to ~22ms.

TIL fancy methods to transform Javascript Objects

You can use Object.entries(), Object.keys(), Object.fromEntries()...

TIL how to hide your JS code

ONE THING TO NOTE: Encrypting a script is stronger than obfuscation, both methods are still not adequate to protect secret content. Honestly, I don't think it's worth it on a production site, and instead just go with pure server-side if you want security. But it's fascinating.