[解決済み] とは何ですか! (not not)演算子とは何ですか?
2022-03-14 20:02:23
質問
見覚えのない演算子が使われているようなコードを見かけました。
!!
. どなたかこの演算子が何をするものなのか教えてください。
これを見たときの文脈は
this.vertical = vertical !== undefined ? !!vertical : this.vertical;
解決方法は?
変換する
Object
を
boolean
. もし、それがfalseyだったら(例えば
0
,
null
,
undefined
など)になると
false
で、それ以外の場合は
true
.
!oObject // inverted boolean
!!oObject // non inverted boolean so true boolean representation
だから
!!
は演算子ではなく、単に
!
演算子を 2 回使用します。
実例 "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
関連
-
Vueの要素ツリーコントロールに破線を追加する説明
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vueが定義するプライベートフィルタと基本的な使い方
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】リソースの読み込みに失敗した:Bind関数でサーバーが500(Internal Server Error)のステータスで応答した【非公開
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
[解決済み] javascriptでダブルエクスクラメーション(!)はどのように機能するのでしょうか?[重複しています]。
-
[解決済み】感嘆符が2つ?[重複している]
-
[解決済み] javascriptの二重否定(!) - 目的は何ですか?[重複しています]。
-
[解決済み】この「二重否定」のトリックを誰か説明してください。重複