DanLevy.net

क्विज़: क्या आप आधुनिक जावास्क्रिप्ट जानते हैं?

अपनीउत्कृष्ट जावास्क्रिप्ट कौशल साबित करें!

क्या आप ES2015 और ES2022 में अंतर जानते हैं?

result का मान क्या है?

console.log(null ?? 100);

नल कोएलसिंग ऑपरेटर (??) बाएँ हाथ के ऑपरेण्ड (a) यदि null या undefined हो तो दाएँ हाथ के ऑपरेण्ड (b) को लौटाता है। इस मामले में, a null है, इसलिए result 100 है।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

निम्नलिखित कोड का आउटपुट क्या होगा?

const value = false;
const defaultVal = 42;
console.log(value ?? defaultVal);

नल कोएलसिंग ऑपरेटर (??) false जैसे फॉल्सी मानों को वैध मानता है। चूँकि value false है, इसे वैध मान माना जाता है और वापस किया जाता है।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

निम्नलिखित कोड का आउटपुट क्या है?

const obj = { foo: null };
const result = obj.foo?.bar;
console.log(result);

वैकल्पिक चेनिंग ऑपरेटर (?.) बाएँ पक्ष null या undefined होने पर मूल्यांकन रोक देता है। चूँकि obj.foo null है, obj.foo?.bar undefined में मूल्यांकित होता है।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

निम्नलिखित कोड का आउटपुट क्या है?

const a = 42n;
const result = a * 2n;
console.log(result);

BigInt मान n को संख्या के अंत में जोड़कर बनाए जाते हैं। आप अंकगणितीय संचालन में BigInt को सामान्य संख्याओं के साथ मिला नहीं सकते। यहाँ, दोनों मान BigInt हैं, इसलिए गुणा काम करता है और परिणाम 84n मिलता है।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

यह क्या लॉग करता है?

const modulePromise = import('./myModule.js');
console.log(typeof modulePromise);

import() फ़ंक्शन एक Promise लौटाता है जो मॉड्यूल ऑब्जेक्ट को रिजॉल्व करता है। क्योंकि Promise इंस्टेंस ऑब्जेक्ट होते हैं, typeof modulePromise 'object' लॉग करता है।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

निम्नलिखित कोड का परिणाम क्या होगा?

const promises = [
Promise.resolve('success'),
Promise.reject('error')
];
Promise.allSettled(promises).then(results => {
console.log(results[0].status + ': ' + results[0].value);
});

Promise.allSettled एक एरे लौटाता है जिसमें प्रत्येक प्रॉमिस के परिणाम का विवरण होता है। पहला प्रॉमिस fulfilled है और उसका मान 'success' है, इसलिए लॉग स्टेटमेंट fulfilled: success प्रिंट करेगा।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

str.matchAll() क्या लौटाता है?

const str = 'foo1bar2baz3';
const matches = str.matchAll(/\d/g);

String.matchAll एक एरे नहीं, बल्कि मैचों का इटेरेटर लौटाता है। इस इटेरेटर का उपयोग स्ट्रिंग से सभी मिलते‑जुलते समूह प्राप्त करने के लिए किया जा सकता है।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

import.meta.url क्या दर्शाता है?

console.log(import.meta.url);

import.meta एक ऑब्जेक्ट है जो वर्तमान मॉड्यूल के मेटाडाटा को रखता है। import.meta.url प्रॉपर्टी वर्तमान मॉड्यूल का URL दर्शाती है, जिसका उपयोग स्क्रिप्ट कहाँ चल रही है, इसकी जानकारी पाने के लिए किया जा सकता है।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

तार्किक असाइनमेंट के बाद a का मान क्या होगा?

let a = null;
a ||= 10;
console.log(a);

तार्किक OR असाइनमेंट (||=) बाएँ वाले मान को तभी दाएँ वाले मान से बदलता है जब बाएँ वाला मान falsy हो (null, undefined, 0, false, आदि)। चूँकि a null है, इसे मान 10 सौंपा जाता है।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

नलिश असाइनमेंट के बाद b का मान क्या है?

let b = null;
b ??= 10;
console.log(b);

नलिश कोलेसिंग असाइनमेंट (??=) दाएँ‑हाथ का मान तब असाइन करता है जब बाएँ‑हाथ का मान null या undefined हो। चूँकि b null है, इसे मान 10 असाइन किया गया।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।

WeakRef क्या प्रदान करता है?

const obj = { data: 'important' };
const ref = new WeakRef(obj);
console.log(ref.deref());

WeakRef एक ऑब्जेक्ट का कमजोर संदर्भ प्रदान करता है, जिससे यदि अन्य कोई संदर्भ न हो तो ऑब्जेक्ट को गार्बेज कलेक्ट किया जा सकता है। चूँकि यहाँ obj अभी भी मजबूत रूप से संदर्भित है, deref() मूल ऑब्जेक्ट लौटाता है। यदि लक्ष्य की मेमोरी गार्बेज कलेक्टर ने मुक्त कर दी होती, तो deref() undefined लौटाता।

JavaScript ऑपरेटर का सटीक व्यवहार जाँचें। आकर्षक विकल्प अक्सर पुराने सिंटैक्स का व्यवहार बताता है, इस सुविधा का नहीं।