JavaScript の「 && 」と「 || 」についての簡単な説明
jQuery フレームワークやその他の JS プラグインでは、「 && 」と「 || 」が頻繁に使用されることがあります。では、これら 2 つの記号は何を意味するのでしょうか?使い方?まだもう少し掘り下げる必要があると思います。
1. 原則:
&& 演算子の特性: 論理演算式の 1 つが false である限り、false の値が取得され、true の場合はその後の値が取得され、false の場合は、その前に取られてしまいます。
|| 演算子の特性: 論理演算式の 1 つが true である限り、true の値が最初に取得され、false の場合は最後に取得されます。
jsの論理演算では、0、""、null、false、未定義、NaNの5つのデータ型がfalseと判定されることがわかっています。そして、js の論理演算中に、上記の原則とこれら 5 つのデータ型に基づいて対応する判断を行うことができます。直接デモにアクセスしてください...
2. オリジナルのデモ:
まず問題を見せてください! ! !
たとえば、生徒の成績に基づいて成績を判断したい場合、90 点は A、80 点は B、60 点は C、残りは D を意味します。
それから、これを行うことができます:
JS コード:
var score = 90; var grade = ''; if(score === 90){ grade = "A"; }else if(score === 80){ grade = "B"; }else if(score === 60){ grade = "C"; }else{ grade = "D"; } console.log("当前学生等级为:" + grade); // 当前学生等级为:A
またはこれ:
var score = 90; var grade = ''; switch(score){ case 90: grade = "A"; break; case 80: grade = "B"; break; case 60: grade = "C"; break; default: grade = "D"; break; }; console.log("当前学生等级为:" + grade); // 当前学生等级为:A
3. デモを最適化します:
実際、「 && 」と「 || 」を使用すると、次のことが可能です。上記のように面倒な作業を行う必要はありません。
var score = 90; var grade = (score===90 && 'A') || (score===80 && 'B') || (score===60 && 'C') || 'D'; console.log("当前学生等级为:" + grade); // 当前学生等级为:A
上記のコードは次のように理解できます:
score の値が 90 に等しい場合、score===90 の論理式が成立し (つまり true)、その後の代入演算が行われます。 'A' の論理演算が実行され、次の "||" 論理演算も無視できます ("||" 演算子の特徴は、前の演算子が true になると、後でそれを実行する必要がないためです)。 )。
scoreの値が90に等しくない場合、論理式score===90は成立しません(つまり、偽です)。「&&」演算子の特性によれば、「(」であることがわかります。スコア===90 && 'A ')" このコードは、後で 'A' の代入演算を実行しません。同時に、コード全体「(score===90 && 'A')」は false であるため、その後、「||」の特性に従って、論理式全体が引き続き実行されます。
類推すると、前の論理式がすべて true でない場合、「||」の特性に従って (すべてが false の場合、最後のものが採用されます)、最終的な評価の割り当ては「D」になります。
JSON フォームを使用して上記の論理操作を処理することもできます:
var score = 90; var grade = {90:"A", 80:"B", 60:"C"}[score] || 'D'; console.log("当前学生等级为:" + grade); // 当前学生等级为:A
ここでは、JSON オブジェクトのプロパティ読み取りを使用します。「JSON object.property value」が存在する (true) 場合、対応する値は次のようになります。取得された属性のキー値 (A、B、または C)。 JSONオブジェクトにscore属性値が存在しない場合は、「||」以降の内容が実行され、成績には値「D」が割り当てられます。
もちろん、上記の数値比較はあまり実用的ではないことがわかります。たとえば、生徒のスコアが 85 点の場合、成績も「D」になりますが、これは明らかに不適切です。 ! !
そこで、上記のコードを最適化し、値の「等価比較」を「範囲間隔比較」に変更できます。
var score = 85; var grade = (score>=90 && 'A') || (score>=80 && 'B') || (score>=60 && 'C') || 'D'; console.log("当前学生等级为:" + grade); // 当前学生等级为:B
以上がこの記事の内容です、この記事の内容が皆様の勉強や仕事のお役に立てれば幸いです、PHP中国語サイトも応援させていただきます!
JavaScript の「 && 」と「 || 」に関するその他の記事については、PHP 中国語 Web サイトに注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...
