【Node.js24.x】ok::deepEqual()メソッドの使い方
deepEqualメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
deepEqualメソッドは、Node.jsのassertモジュールに属し、二つの値が「深い」比較において等しいかどうかを検証するメソッドです。これは、通常の===演算子のような厳密な等価性チェックとは異なり、オブジェクトや配列の内部構造、つまりそれらが持つプロパティや要素まで再帰的に比較することを意味します。
例えば、二つのオブジェクトを比較する際には、両者のプロパティの数、キー、そして対応する値が全て一致するかを確認します。配列の場合は、要素の数と各要素が同じであるかを順序も含めて検証します。プリミティブ値、例えば数値や文字列、真偽値などは厳密に比較されますが、オブジェクトの場合はその内容まで深く掘り下げて比較が行われます。
このメソッドは、特に複雑なデータ構造を持つオブジェクトや配列の内容が、プログラムの実行中に期待通りに一致しているかをテストする際などに非常に有用です。開発者が作成したコードが正しい動作をしているかを確認するためのアサーションとして頻繁に利用されます。
比較した二つの値が等しいと判断された場合は、処理はそのまま続行されます。しかし、等しくないと判断された場合にはAssertionErrorというエラーがスローされ、プログラムに問題があることを明確に通知します。これにより、コードの正確性を保証し、予期せぬ動作を防ぐための重要なツールとして利用できます。
構文(syntax)
1const assert = require('assert'); 2 3assert.deepEqual({ key: 'value', number: 123 }, { key: 'value', number: 123 });
引数(parameters)
actual, expected, message
- actual: any: 比較対象となる実際の値
- expected: any: 比較対象となる期待される値
- message: string: アサーションが失敗した場合に表示されるエラーメッセージ
戻り値(return)
戻り値なし
戻り値はありません