JavaScript の !! (not not) 演算子とは何ですか? 質問する

JavaScript の !! (not not) 演算子とは何ですか? 質問する

私はこのコードを見ました:

this.vertical = vertical !== undefined ? !!vertical : this.vertical;

!!認識できない演算子として使用されているようです。これは何をするのでしょうか?

ベストアンサー1

これObjectは に変換されますboolean。これが偽の場合 (例: 0、、nullなど) は になり、それ以外の場合は にundefinedなりますfalsetrue

!object  // Inverted Boolean
!!object // Noninverted Boolean, so true Boolean representation

したがって、これ!!は演算子ではなく、単に演算子を 2 回使用しただけです!

一般的には、次のようにする方が簡単です。

Boolean(object) // Boolean

実際の例「IE バージョンのテスト」:

const isIE8 = !! navigator.userAgent.match(/MSIE 8.0/);
console.log(isIE8); // Returns true or false

もしあなたが⇒

console.log(navigator.userAgent.match(/MSIE 8.0/));
// Returns either an Array or null

しかし、もしあなたが⇒

console.log(!!navigator.userAgent.match(/MSIE 8.0/));
// Returns either true or false

おすすめ記事