• Node.js Video Tutorials

Node.js assert.notStrictEqual() 函式



Node.js 的 assert.notStrictEqaul() 函式是 Node.js 的 assert 模組的內建函式。它用於驗證給定引數的嚴格相等性。

此函式用於檢查兩個值是否不相等。它檢查型別和值是否相等,這與嚴格相等運算子 (===) 不同,後者僅檢查值是否相等。這意味著如果兩個變數具有不同的型別但值相同,它將返回 true,如果它們具有相同的型別但值不同,則返回 false。

此函式將使用 "!=" 運算子來測試實際引數和預期引數。如果值相等,此函式將丟擲 AssertionError。否則,如果值不相等,則函式不會產生任何輸出。此函式與 Node.js assert.notStrictEqual() 函式相同。

語法

以下是 Node.js assert.notStrictEqaul() 函式 的語法:

assert.notStrictEqual(actual, expected[, message]);

引數

此函式接受三個引數。下面描述了這些引數。

  • actual − (必需) 傳遞給此引數的值將被評估。該值可以是任何型別。

  • expected − (必需) 傳遞給此引數的值將與 actual 值進行比較。該值可以是任何型別。

  • message − (可選) 可以將字串或錯誤型別作為輸入傳遞到此引數。

返回值

如果 actualexpected 匹配,則此函式將在終端上返回 AssertionError。

示例

在下面的示例中,我們將兩個不同的整數傳遞給 Node.js assert.notStrictEqual() 函式的 actualexpected 引數。

const assert = require('assert');

var N1 = 1;
var N2 = 2;

assert.notEqual(N1, N2, "Both values are Not EQUAL");

輸出

由於兩個輸入引數的結果不同,因此該函式不會將 AssertionError 丟擲到輸出。

// Returns nothing

示例

在下面的示例中,我們將兩個相同的整數傳遞給函式的 actualexpected 引數。

const assert = require('assert');

var Num1 = 65;
var Num2 = 65;

assert.notEqual(Num1, Num2, "Both integers are EQUAL");

輸出

由於兩個輸入引數的結果相同,因此該函式將丟擲 AssertionError 以及 message 引數中的文字。

assert.js:79
   throw new AssertionError(obj);
   ^
   
AssertionError [ERR_ASSERTION]: Both integers are EQUAL
   at Object.<anonymous> (/home/cg/root/639c38b0b0aed/main.js:6:8)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
   at startup (internal/bootstrap/node.js:238:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

示例

在下面的示例中,我們建立了兩個具有不同屬性的物件。然後我們將這兩個物件作為 actualexpected 傳遞給函式,並將文字傳遞給 message 引數。

const assert = require('assert');
var object1 = {
   Name : 'Pushpa',
   Designation : 'Smuggler'
};

var object2 = {
   Name : 'Raj',
   Designation : 'Syndicate Head'
};

assert.notEqual(object1, object2, "Both the objects are NOT EQUAL");

輸出

由於實際結果和預期結果不同,因此在編譯並執行程式碼時,該函式不會丟擲 AssertionError。

// Returns nothing

示例

在下面的示例中,我們將兩個相同的字串作為輸入傳遞給 actualexpected 引數。

const assert = require('assert');

assert.notEqual('The rise', 'The rise', "Both the strings are EQUAL");

輸出

由於實際結果和預期結果相同,因此在編譯並執行程式碼時,該函式將向輸出丟擲 AssertionError。

   assert.js:79
   throw new AssertionError(obj);
   ^
   
AssertionError [ERR_ASSERTION]: Both the strings are EQUAL
   at Object.<anonymous> (/home/cg/root/639c3b5c17b34/main.js:3:8)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
   at startup (internal/bootstrap/node.js:238:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
nodejs_assert_module.htm
廣告

© . All rights reserved.