はじめに
この実験では、学生たちは HTML と JavaScript の実践的な演習を通じて JavaScript の比較演算子を探求します。この実験では、参加者に HTML ファイルのセットアップを案内し、大なり、小なり、等価、厳密等価演算子などのさまざまな比較演算子を順次示します。
参加者は、HTML のスクリプトタグ内に JavaScript コードを書くことで比較演算子の使い方を学び、さまざまな数値と値の比較を行い、ブラウザのコンソールで結果を観察します。この実験が終了するまでに、学生たちは比較演算子をどのように適用して値の関係を評価し、さまざまなシナリオでのその動作を理解するようになります。
比較演算子用の HTML ファイルをセットアップする
このステップでは、JavaScript の比較演算子を探求するための基本的な HTML ファイルをセットアップします。比較演算子がどのように機能するかを理解するのに役立つ、埋め込み JavaScript スクリプト付きの HTML ファイルを作成します。
WebIDE を開き、~/project ディレクトリに移動します。次の内容で comparison-operators.html という新しいファイルを作成します。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>JavaScript Comparison Operators</title>
</head>
<body>
<h1>Exploring Comparison Operators</h1>
<p>
Open the browser console to see the results of our comparison operators.
</p>
<script>
// We'll add our comparison operator examples here
console.log("HTML file setup complete!");
</script>
</body>
</html>
この HTML ファイルの主要なコンポーネントを分解してみましょう。
<!DOCTYPE html>宣言により、ブラウザが標準モードを使用することが保証されます。- 簡単な
<script>タグを含め、そこに JavaScript コードを書きます。 console.log()文により、ファイルが正しく機能していることを確認できます。
ファイルを表示するには、通常は Web ブラウザで開き、ブラウザの開発者コンソールを確認します。LabEx 環境では、ファイルの作成と内容を確認します。
大なりと小なり演算子を示す
このステップでは、JavaScript の大なり (>) と小なり (<) の比較演算子について学びます。前のステップの comparison-operators.html ファイルを開き、これらの演算子を探求するために <script> セクションを変更します。
次のコードでスクリプトを更新します。
<script>
// Greater Than (>) Operator
console.log("Greater Than Operator Examples:");
console.log(10 > 5); // true
console.log(5 > 10); // false
console.log(5 > 5); // false
// Less Than (<) Operator
console.log("\nLess Than Operator Examples:");
console.log(5 < 10); // true
console.log(10 < 5); // false
console.log(5 < 5); // false
// Comparing different types
console.log("\nComparing Different Types:");
console.log(5 < "10"); // true (type coercion)
console.log(10 > "5"); // true (type coercion)
</script>
これらの例は、大なりと小なり演算子の主な特性を示しています。
- 左辺の値が大きい場合、
>はtrueを返します - 左辺の値が小さい場合、
>はfalseを返します - 値が等しい場合、
>と<の両方がfalseを返します - JavaScript は、異なる型を比較する際に型強制を行います
ブラウザのコンソールを開いて比較結果を確認します。各 console.log() は比較の結果を表示します。
等価と非等価演算子を練習する
このステップでは、JavaScript の等価 (==) と非等価 (!=) 演算子を探求します。comparison-operators.html ファイルを開き、次のコードで <script> セクションを更新します。
<script>
// Equality Operator (==)
console.log("Equality Operator Examples:");
console.log(5 == 5); // true
console.log(5 == "5"); // true (type coercion)
console.log(5 == 10); // false
// Inequality Operator (!=)
console.log("\nInequality Operator Examples:");
console.log(5 != 10); // true
console.log(5 != "5"); // false (type coercion)
console.log(5 != 5); // false
// Comparing different types
console.log("\nComparing Different Types:");
console.log(0 == false); // true (type coercion)
console.log(1 == true); // true (type coercion)
console.log("" == false); // true (type coercion)
</script>
等価と非等価演算子に関する要点:
==演算子は比較する前に型強制を行います- 型変換後の値が同じ場合、
==はtrueを返します !=演算子は値が等しくないことをチェックします。型強制も行います- 型強制は予期しない結果をもたらす可能性があります
ブラウザのコンソールを開いて比較結果を確認します。各 console.log() は比較の結果を表示します。
厳密な等価と非等価演算子を理解する
このステップでは、JavaScript の厳密な等価 (===) と厳密な非等価 (!==) 演算子について学びます。comparison-operators.html ファイルを開き、次のコードで <script> セクションを更新します。
<script>
// Strict Equality Operator (===)
console.log("Strict Equality Operator Examples:");
console.log(5 === 5); // true
console.log(5 === "5"); // false (no type coercion)
console.log(0 === false); // false
console.log(1 === true); // false
// Strict Inequality Operator (!==)
console.log("\nStrict Inequality Operator Examples:");
console.log(5 !== 10); // true
console.log(5 !== "5"); // true (no type coercion)
console.log(0 !== false); // true
console.log(1 !== true); // true
// Comparing with type coercion vs. strict comparison
let num = 5;
let strNum = "5";
console.log("\nComparing with == vs. ===:");
console.log(num == strNum); // true (type coercion)
console.log(num === strNum); // false (strict comparison)
</script>
緩やかな比較と厳密な比較の主な違い:
===は型強制なしで値と型の両方をチェックします!==は厳密な非等価演算子です- 厳密な演算子は予期しない型変換を防ぎます
- より予測可能な比較のためには常に
===と!==を使用することをおすすめします
ブラウザのコンソールを開いて比較結果を確認します。各 console.log() は比較の結果を表示します。
比較演算子の結果を試す
このステップでは、比較演算子を使ったより複雑なシナリオを探求し、異なる種類の値とどのように相互作用するかを学びます。comparison-operators.html ファイルを開き、次のコードで <script> セクションを更新します。
<script>
// Comparing different types and complex scenarios
console.log("Complex Comparison Scenarios:");
// Comparing null and undefined
console.log(null == undefined); // true (type coercion)
console.log(null === undefined); // false (strict comparison)
// Comparing with NaN
console.log(NaN == NaN); // false (special case)
console.log(NaN === NaN); // false
// Comparing objects
let obj1 = { value: 5 };
let obj2 = { value: 5 };
let obj3 = obj1;
console.log("\nObject Comparisons:");
console.log(obj1 == obj2); // false (different references)
console.log(obj1 === obj2); // false (different references)
console.log(obj1 === obj3); // true (same reference)
// Chained comparisons
let x = 5;
console.log("\nChained Comparisons:");
console.log(1 < x && x < 10); // true
console.log(1 < x < 10); // Warning: This doesn't work as expected!
</script>
これらの実験から得られる重要な知見:
nullとundefinedは、緩やかな等価と厳密な等価で異なる振る舞いをするNaNは決して自身と等しくない- オブジェクトの比較は参照に依存し、内容には依存しない
- 連鎖比較は厄介で、期待通りに機能しない場合がある
ブラウザのコンソールを開いて比較結果を確認し、比較演算子の微妙な振る舞いを理解しましょう。
まとめ
この実験では、参加者は HTML と JavaScript の実践的な演習を通じて JavaScript の比較演算子を探求します。この実験は、埋め込みスクリプト付きの基本的な HTML ファイルをセットアップすることから始まり、学習者に大なり、小なり、等価、および厳密な等価演算子などのさまざまな比較技術を理解して練習することができます。
ブラウザのコンソールでの実際の例を通じて、学生は比較演算子がどのように機能するかを理解し、さまざまな種類の数値および値の比較を評価する方法を学びます。この実験は、これらの基本的な JavaScript 演算子を理解するための構造化されたアプローチを提供し、参加者にさまざまなシナリオを実験し、得られるブール値の結果を観察することを可能にします。



