JavaScriptの!!(エクスクラメーション)2つの意味

JavaScript

JavaScriptの!!(エクスクラメーション)2つの意味について紹介します。

JavaScriptの!!(エクスクラメーション)2つの意味

たとえば、次のようなフォームにバリデーションをかけるケースでみかることがあります。
      rules: {
        required: value => !!value || 'Required.',
        email: ...
        }
!!(エクスクラメーション)2つは、値を真偽値に変換したい場合に使います。 厳密にいうと、!!(エクスクラメーション)2つの特殊な構文があるわけではありません。 !(エクスクラメーションマーク)一つの場合、NOTを意味します。 それを再度繰り返しているだけです。 たとえば、次のようなケースをみてみます。
      console.log(11); //11
      console.log(!11); //false
      console.log(!!11); //true
11というのは、truthyな値です。 それを、!(NOT)をつけることで、falseに変換でき、さらに、もう一つ!(NOT)をつけることで、trueを返しています。 truthyな値とfalsyな値については、JavaScriptの基礎文法まとめを参考にしてみてください。

JavaScript

Posted by devsakaso