javascript_javascriptスキルにおける2つの感嘆符の使用例を詳しく解説

WBOY
リリース: 2016-05-16 16:37:09
オリジナル
1367 人が閲覧しました

JavaScript コードでは !! がよく見られますが、この記事では例を使用して JavaScript での 2 つの感嘆符の使用法を詳しく分析します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

JavaScript の

!! は論理的な "not"、つまり論理的な "not" に基づいて再び "not" になります。多くの型は、! または !! によって bool 型に変換でき、その後、他の判断を行うことができます。

1. アプリケーション シナリオ: オブジェクトが存在するかどうかを判断します

次のような json オブジェクトがあるとします。

{ color: "#E3E3E3", "font-weight": "bold" }
ログイン後にコピー

存在するかどうかを確認する必要がある場合は、!! を使用します。

オブジェクトを印刷するだけでは、オブジェクトが存在するかどうかを判断できません:

var temp = { color: "#A60000", "font-weight": "bold" };
alert(temp);
ログイン後にコピー

結果: [オブジェクト: オブジェクト]

json オブジェクトに ! または !! を実装すると、json オブジェクトが存在するかどうかを判断できます:

var temp = { color: "#A60000", "font-weight": "bold" };
alert(!temp);
ログイン後にコピー

結果: false

var temp = { color: "#A60000", "font-weight": "bold" };
alert(!!temp);
ログイン後にコピー

結果: true

2. ! または !! を使用してさまざまな型を bool 型に変換する規則

1. null

の「not」の場合は true を返します。

var temp = null;
alert(temp); 
ログイン後にコピー
結果: null

var temp = null;
alert(!temp); 
ログイン後にコピー
結果: true

var temp = null;
alert(!!temp); 
ログイン後にコピー
結果: false

2. 未定義の「not」の場合は true を返します

var temp;
alert(temp);
ログイン後にコピー
結果: 未定義

var temp;
alert(!temp);
ログイン後にコピー
結果: true

var temp;
alert(!!temp);
ログイン後にコピー
結果: false

3. 空の文字列

内の「not」の場合は true を返します。

var temp="";
alert(temp);
ログイン後にコピー
結果: 空

var temp="";
alert(!temp);
ログイン後にコピー
結果: true

var temp="";
alert(!!temp);
ログイン後にコピー
結果: false

4. ゼロ以外の整数型

の「not」の場合は false を返します。

var temp=1;
alert(temp);
ログイン後にコピー
結果: 1

var temp=1;
alert(!temp);
ログイン後にコピー
結果: false

var temp=1;
alert(!!temp);
ログイン後にコピー
結果: true

5. 0

の「not」の場合は true を返します。

var temp = 0;
alert(temp);

ログイン後にコピー
結果: 0

var temp = 0;
alert(!temp);
ログイン後にコピー
結果: true

var temp = 0;
alert(!!temp);
ログイン後にコピー
結果: false

6. 文字列

内の「not」の場合は false を返します。

var temp="ab";
alert(temp);
ログイン後にコピー
結果: ab

var temp="ab";
alert(!temp);
ログイン後にコピー
結果: false

var temp="ab";
alert(!!temp);
ログイン後にコピー
結果: true

7. 配列内の「not」の場合は false を返します

var temp=[1,2];
alert(temp);
ログイン後にコピー
結果: 1,2

var temp=[1,2];
alert(!temp);
ログイン後にコピー
結果: false

var temp=[1,2];
alert(!!temp);
ログイン後にコピー
結果: true

この記事で説明されている内容は、JavaScript プログラミングを学ぶすべての人にとって一定の参考価値があると信じています。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート