JavaScriptの!!(エクスペラメーションマーク)2つはオブジェクトをBoolean化(真偽値化)できる

こんにちは!kossyです!




アウトプット、意識しないと本当にサボりがちになってしまいますね、、、
しょーもない事でもいいから、何かしらブログに残していきたいと思います、、、




さて、今回は、JavaScriptのあまり見かけない文法をご紹介します。




!!でオブジェクトを真偽値化できる

他言語ではあまり見かけませんが、JavaScriptでは、
!!を二つ、オブジェクトや変数の前につけると、真偽値にすることができます。

f:id:kossy-web-engineer:20190419223133p:plain

こんな感じですね。
ユースケースがあまり思い浮かばないですが、、、



なんで紹介したん??

Vue.js 入門に!!を用いたコードを紹介していたから、ですね。

こんな感じのコードです。

const hoge = fuga => !!fuga.trim()

hoge関数の引数の値を真偽値化してる感じですかね。
真偽値で返り値を受け取りたい時なんかに使えそうな気がします。




参考にさせていただいた記事
JavaScriptの謎コードまとめ - エフアンダーバー
JavaScriptで!!(エクスクラメーションマーク2つ) | ブログ | ペンギンパレット-横浜のウェブサイト・ホームページ制作
【JavaScript】!!(ビックリマーク2つ)って何? | 衣食住よりプログラミング