If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
JavaScript के ES12 version, जो ECMAScript 2021
के नाम से जाना जाता है, ने programming में कुछ काफी important और convenient features introduce किये हैं।
इस blog में हम ES12
के सभी major updates को discuss करेंगे और देखेंगे कैसे यह new features JavaScript को और भी powerful और developer-friendly बनाते हैं।
Logical Assignment Operators
Numeric Separators
String.prototype.replaceAll()
Promise.any()
WeakRefs
FinalizationRegistry
Conclusion
●●●
JavaScript ES12 में logical operators (&&=, ||=, ??=)
को और enhance किया गया है जिससे assignment operations को shortcut के through लिखा जा सके।
यह new operators logical checks के साथ value को assign करते हैं।
Syntax
x &&= y; // agar x truthy hai, to y assign hoga x ||= y; // agar x falsy hai, to y assign hoga x ??= y; // agar x null ya undefined hai, to y assign hoga
Example
let a = true;
let b = false;
a &&= b; // a will be false because b is false
console.log(a); // Output: false
let x = null;
x ??= 'Default Value';
console.log(x); // Output: 'Default Value'
यह logical operators काफी useful हैं जब आपको conditional assignment को short और efficient तरीके से लिखना हो।
●●●
Bade numbers को read करना कभी-कभी मुश्किल हो जाता है। ES12 में numeric separators (_)
का feature introduce किया गया है जिससे large numbers को easily readable
बनाया जा सकता है।
Example
let amount = 5_000_000_000;
console.log(amount); // Output: 5000000000
इससे bade numbers को समझना और काफी readable बना दिया गया है without affecting the actual value.
●●●
अब तक replace()
method सिर्फ first occurrence को replace करता था, लेकिन ES12 में replaceAll()
method introduce किया गया है जो string के अंदर हर occurrence को replace करता है।
Example
let text = 'JavaScript is great, JavaScript is popular';
let updatedText = text.replaceAll('JavaScript', 'JS');
console.log(updatedText);
// Output: 'JS is great, JS is popular'
यह method repetitive text को replace करने में काफी handy है।
●●●
Promise.any()
method काम करता है किसी भी first fulfilled promise को resolve
करने के लिए। अगर सभी promises reject हो जाते हैं, तो यह AggregateError
throw करता है।
Example
let p1 = Promise.reject('Error 1');
let p2 = Promise.resolve('Success');
let p3 = Promise.reject('Error 2');
Promise.any([p1, p2, p3])
.then(result => console.log(result));
// Output: 'Success'
Promise.any()
asynchronous operations के लिए helpful है जिसमे आपको first successful result चाहिए।
●●●
WeakRef
एक नया feature है जो weak references create करता है objects के लिए।
Weak references का मतलब है कि garbage collector
इनको delete कर सकता है अगर memory reclaim करनी हो। यह feature memory management और optimization के लिए काफी useful है।
Example
let obj = { name: 'John' };
let weakRef = new WeakRef(obj);
console.log(weakRef.deref()); // Output: { name: 'John' }
WeakRef
काम आता है जब आपको memory leakage avoid करनी हो और object को unnecessary hold नहीं करना हो।
●●●
FinalizationRegistry
का use object को garbage collect hone के बाद clean-up
logic को execute करने के लिए किया जाता है। इससे memory को efficiently manage करने में help मिलती है।
Example
let registry = new FinalizationRegistry((heldValue) => {
console.log(`Clean up for ${heldValue}`);
});
let obj = { name: 'John' };
registry.register(obj, 'Object-1');
जब obj
garbage collect हो जाता है, 'Object-1
' को clean-up के लिए use किया जाता है।
यह feature advanced memory management और optimization के लिए helpful होता है।
●●●
JavaScript ES12 (ECMAScript 2021) ने कुछ powerful और modern features को introduce किया है जो आज के dynamic JavaScript applications को build करने के लिए काफी जरूरी हैं।
चाहे वो replaceAll() हो, Promise.any() हो या WeakRef, हर feature का अपना एक unique contribution है coding experience को और enhance करने में।
I hope you liked it :)
See you later ?
Loading ...