Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

Node.jsのassert.strictEqual()関数


アサートモジュールは、関数アサーションに使用されるさまざまな機能を提供します。 assert.strictEqual 2つのオブジェクトまたはパラメータ間の同等性をチェックするために使用されます。両方のオブジェクトが等しくない場合、アサーションエラーがスローされます。

構文

assert.strictEqual(actual, expected[, message])

パラメータ

上記のパラメータは以下のように記述されます-

  • 実際 –これは、予想されるパラメーターに対して評価される実際の値です。

  • 期待される –これは、実際の値と一致する予想されるパラメーター値です。

  • メッセージ –このパラメーターは、実際のパラメーターと予想されるパラメーターが一致しない場合に出力されるストリング・メッセージ値を保持します。これはオプションのフィールドです。

アサートモジュールのインストール

npm install assert

assertモジュールは組み込みのNode.jsモジュールであるため、この手順をスキップすることもできます。次のコマンドを使用してアサートバージョンを確認し、最新のアサートモジュールを取得できます。

npm version assert

関数にモジュールをインポートする

const assert = require("assert");

名前がassertStrictEqual.jsのファイルを作成し、以下のコードスニペットをコピーします。ファイルを作成したら、次のコマンドを使用してこのコードを実行します。

node assertStrictEqual.js

assertStrictEqual.js

// Importing the module
const assert = require('assert').strict;

var a = "TutorialsPoint";
var b = "TutorialsPoint";

try {
   // Calling the equal function to check equality
   assert.strictEqual(a, b);
   console.log("Actual and expected parameters are equal")
} catch(error) {
   console.log("Error: ", error)
}

出力

C:\home\node>> node assertStrictEqual.js
Actual and expected parameters are equal

上記の例では、両方の値が厳密に等しいことがわかります。

もう1つの例を見てみましょう。

// Importing the module
const assert = require('assert').strict;

var a = "Welcome to TutorialsPoint";
var b = "TutorialsPoint";

try {
   // Calling the equal function to check equality
   assert.strictEqual(a, b);
   console.log("Actual and expected parameters are equal")
} catch(error) {
   console.log("Error: ", error)
}

出力

C:\home\node>> node assertStrictEqual.js
Error: { AssertionError [ERR_ASSERTION]: Input A expected to strictly equal
input B:
+ expected - actual

- 'Welcome to TutorialsPoint'
+ 'TutorialsPoint'
      at Object. (/home/node/test/assert.js:9:9)
      at Module._compile (internal/modules/cjs/loader.js:778:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
      at Module.load (internal/modules/cjs/loader.js:653:32)
      at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
      at Function.Module._load (internal/modules/cjs/loader.js:585:3)
      at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
      at startup (internal/bootstrap/node.js:283:19)
      at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
   generatedMessage: true,
   name: 'AssertionError [ERR_ASSERTION]',
   code: 'ERR_ASSERTION',
   actual: 'Welcome to TutorialsPoint',
   expected: 'TutorialsPoint',
   operator: 'strictEqual' }

上記の例では、両方の値が等しくないことがわかります。したがって、assert strictEqual()メソッドによってアサーションエラーがスローされました。


  1. JavaScriptの関数プロトタイプ

    JavaScriptで作成された関数には、JavaScriptエンジンによって追加されたプロトタイププロパティが常にあります。プロトタイププロパティは、デフォルトでコンストラクタプロパティを含むオブジェクトです。関数protoypeには、-からアクセスできます。 functionName.prototype オブジェクトが関数コンストラクターを使用して作成されている場合、このプロトタイププロパティを使用して、その関数コンストラクターによって作成されたオブジェクト間でメソッドまたはプロパティを共有できます。 以下は、JavaScriptの関数プロトタイプのコードです- 例 <!DOCT

  2. JavaScriptでの関数の借用。

    call()、apply()、bind()は、JavaScriptのメソッドを借用するために使用されます。 以下は、JavaScriptでメソッドを借用するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &