Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

Node.js में assert.deepStrictEqual () फ़ंक्शन

<घंटा/>

मुखर मॉड्यूल विभिन्न कार्यात्मकताओं का एक समूह प्रदान करता है जो फ़ंक्शन अभिकथन के लिए उपयोग किए जाते हैं। उनमें से एक है डीपस्ट्रिक्ट एक्वाल () फ़ंक्शन। इस फ़ंक्शन का उपयोग वास्तविक और अपेक्षित मापदंडों के बीच गहरी समानता का परीक्षण करने के लिए किया जाता है। यदि शर्त पूरी नहीं होती है तो एक अभिकथन त्रुटि उठाई जाएगी।

सिंटैक्स

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

पैरामीटर

उपरोक्त पैरामीटर नीचे वर्णित हैं -

  • वास्तविक - यह वास्तविक मान है जिसका मूल्यांकन अपेक्षित मापदंडों के विरुद्ध किया जाएगा।

  • अपेक्षित - यह अपेक्षित पैरामीटर मान है जो वास्तविक मान से मेल खाता है।

  • संदेश - यदि वास्तविक और अपेक्षित पैरामीटर मेल नहीं खाते हैं तो यह पैरामीटर स्ट्रिंग संदेश मान को मुद्रित करने के लिए रखता है। यह एक वैकल्पिक क्षेत्र है।

अभिकथन मॉड्यूल स्थापित करना

npm install assert

मुखर मॉड्यूल एक अंतर्निहित Node.js मॉड्यूल है, इसलिए आप इस चरण को भी छोड़ सकते हैं। नवीनतम मुखर मॉड्यूल प्राप्त करने के लिए आप निम्न आदेश का उपयोग करके मुखर संस्करण की जांच कर सकते हैं।

npm version assert

अपने फ़ंक्शन में मॉड्यूल आयात करना

const assert = require("assert");

उदाहरण

नाम के साथ एक फाइल बनाएं – assertDeepStrict.js और नीचे दिए गए कोड स्निपेट को कॉपी करें। फ़ाइल बनाने के बाद, इस कोड को चलाने के लिए निम्न कमांड का उपयोग करें।

node assertDeepStrict.js

assertDeepStrict.js

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

try {
   // Calling the deep strict function
   assert.deepStrictEqual({ a: 3 }, { a: '3' });
   console.log("No Error Occured...")
} catch(error) {
   console.log("Error: ", error)
}

आउटपुट

C:\home\node>> node assertDeepStrict.js
Error: { AssertionError [ERR_ASSERTION]: Input A expected to strictly deepequal input B:
+ expected - actual
   {
      - a: 3
      + a: '3'
   }
   at Object.<anonymous> (/home/node/mysql-test/assert.js:6: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: { a: 3 },
expected: { a: '3' },
operator: 'deepStrictEqual' }

हम उपरोक्त उदाहरण में देख सकते हैं कि एक मान पूर्णांक था जबकि दूसरा मान स्ट्रिंग था। इसके कारण विधि ने उपरोक्त त्रुटि को फेंक दिया।

उदाहरण

आइए एक और उदाहरण देखें।

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

try {
   // Calling the deep strict function
   // Both the values are string
   assert.deepStrictEqual({ a: '3' }, { a: '3' });
   console.log("No Error Occured...")
} catch(error) {
   console.log("Error: ", error)
}

आउटपुट

C:\home\node>> node assertDeepStrict.js
No Error Occured...

  1. जावास्क्रिप्ट संख्या समारोह

    जावास्क्रिप्ट नंबर () फ़ंक्शन किसी ऑब्जेक्ट मान को उसके संबंधित संख्यात्मक मान के तर्क के रूप में परिवर्तित करता है। जावास्क्रिप्ट नंबर () फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta

  1. जावास्क्रिप्ट में फंक्शन प्रोटोटाइप

    जावास्क्रिप्ट में बनाए गए कार्यों में हमेशा जावास्क्रिप्टइंजिन द्वारा जोड़ा गया प्रोटोटाइप गुण होता है। प्रोटोटाइप प्रॉपर्टी एक ऑब्जेक्ट है जिसमें डिफ़ॉल्ट रूप से कंस्ट्रक्टर प्रॉपर्टी होती है। फंक्शन प्रोटोटाइप को − . द्वारा एक्सेस किया जा सकता है functionName.prototype जब फ़ंक्शन कंस्ट्रक्टर का उ

  1. जावास्क्रिप्ट में फंक्शन उधार।

    जावास्क्रिप्ट में विधियों को उधार लेने के लिए कॉल (), लागू () और बाइंड () का उपयोग किया जाता है। जावास्क्रिप्ट में उधार लेने के तरीकों के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="v