Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ฟังก์ชัน assert.notDeepEqual() ใน Node.js

ฟังก์ชัน assert.notDeepEqual ตรวจสอบความไม่เท่ากันแบบลึก (deep inequality) ระหว่าง actual และ expected ใช้การเปรียบเทียบแบบ loose (==) สำหรับค่า primitive หากทั้งสองค่า deep equal จะโยนข้อผิดพลาด

ไวยากรณ์

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

พารามิเตอร์

  • actual – ค่าจริง
  • expected – ค่าที่คาดหวัง
  • message – ข้อความเมื่อเท่ากัน (ทางเลือก)

ตัวอย่าง: ออบเจกต์เท่ากัน

const assert = require('assert').strict;

try {
  assert.notDeepEqual({ a: '21' }, { a: '21' });
} catch (error) {
  console.log("Error: ", error);
}

ผลลัพธ์

Error: {
  AssertionError [ERR_ASSERTION]: Identical input passed to notDeepStrictEqual:
  { a: '21' }
  ...
  operator: 'notDeepStrictEqual'
}

ตัวอย่าง: ออบเจกต์ไม่เท่ากัน (ชนิดต่างกัน)

try {
  assert.notDeepEqual({ a: 21 }, { a: '21' });
  console.log("Values are not identical");
} catch (error) {
  console.log("Error: ", error);
}

ผลลัพธ์

Values are not identical

ค่าหนึ่งเป็น number อีกค่าเป็น string จึงไม่ deep equal