ECMAScript 2019

  • पिछला पृष्ठ JS 2018
  • अगला पृष्ठ JS 2020

JavaScript संस्करण संख्या

पुराने JS संस्करणों का नाम संख्याओं के अनुसार किया जाता है: ES5 (2009) और ES6 (2015)

2016 से, संस्करणों का नाम वर्षों के अनुसार किया जाता है: ECMAScript 2016, 2017, 2018, 2019, ...

ES2019 में नई विशेषताएं:

चेतावनी

ये विशेषताएं अभी तक नई हैं

अधिक पुराने ब्राउज़रों के लिए प्रतिकृत कोड (Polyfill) की आवश्यकता हो सकती है

जावास्क्रिप्ट स्ट्रिंग विधि trimStart()

ES2019 ने JavaScript String तरीके को जोड़ा trimStart()

trimStart() तरीके का काम करना तरीका trim() समान है, लेकिन केवल तालिका के शुरू में खाली जगहों को ही हटा देता है。

इनस्टांस

let text1 = "     Hello World!     ";
let text2 = text1.trimStart();

स्वयं को प्रयास करें

2020 जनवरी से, सभी आधुनिक ब्राउज़रों ने JavaScript String trimStart() समर्थन किया है:

च्रोम एज फायरफॉक्स सफारी ओपेरा
च्रोम 66 एज 79 फायरफॉक्स 61 सफारी 12 ओपेरा 50
2018 वर्ष 4 माह 2020 वर्ष 1 माह 2018 वर्ष 6 माह 2018 वर्ष 9 माह 2018 वर्ष 5 माह

जावास्क्रिप्ट स्ट्रिंग विधि trimEnd()

ES2019 ने जेसक्रिप्ट को एक नई तमगाहुँदारी जोड़ी है trimEnd() शब्द गणना तरीके

trimEnd() तरीके का काम करना तरीका trim() समान है, लेकिन केवल तालिका के अंत में खाली जगहों को ही हटा देता है。

इनस्टांस

let text1 = "     Hello World!     ";
let text2 = text1.trimEnd();

स्वयं को प्रयास करें

2020 वर्ष 1 माह से, सभी आधुनिक ब्राउज़र जेसक्रिप्ट के शब्द trimEnd() को समर्थित करते हैं:

च्रोम एज फायरफॉक्स सफारी ओपेरा
च्रोम 66 एज 79 फायरफॉक्स 61 सफारी 12 ओपेरा 50
2018 वर्ष 4 माह 2020 वर्ष 1 माह 2018 वर्ष 6 माह 2018 वर्ष 9 माह 2018 वर्ष 5 माह

जावास्क्रिप्ट ऑब्जेक्ट विधि fromEntries()

ES2019 ने जेसक्रिप्ट को एक नई तमगाहुँदारी जोड़ी है fromEntries() ऑब्जैक्ट तरीका

fromEntries() तरीका चलनीय कीवर्ड/मूल्य के पार्ट्स से ऑब्जैक्ट बनाता है。

इनस्टांस

const fruits = [
["apples", 300],
["pears", 900],
["bananas", 500]

const myObj = Object.fromEntries(fruits);

स्वयं को प्रयास करें

2020 वर्ष 1 माह से, सभी आधुनिक ब्राउज़र जेसक्रिप्ट के शब्द trimEnd() को समर्थित करते हैं:

च्रोम एज फायरफॉक्स सफारी ओपेरा
च्रोम 73 एज 79 फायरफॉक्स 63 सफारी 12.1 ओपेरा 60
2019 वर्ष 3 माह 2020 वर्ष 1 माह 2018 वर्ष 10 माह 2019 वर्ष 3 माह 2019 वर्ष 4 माह

वैकल्पिक catch बांध

ES2019 से, अगर ज़रूरत नहीं होती, तो catch पैरामीटर को छोड़ सकते हैं:

इनस्टांस

2019 वर्ष से पहले:

try {
// कोड
} catch (err) {
// कोड
}

2019 वर्ष के बाद:

try {
// कोड
} catch {
// कोड
}

2020 वर्ष 1 माह से, सभी आधुनिक ब्राउज़र जेसक्रिप्ट के अपरिवर्तनीय चेच्छा बांधन को समर्थित करते हैं:

च्रोम एज फायरफॉक्स सफारी ओपेरा
च्रोम 66 एज 79 फायरफॉक्स 58 सफारी 11.1 ओपेरा 53
2018 वर्ष 4 माह 2020 वर्ष 1 माह 2018 वर्ष 1 माह 2018 वर्ष 3 माह 2018 वर्ष 5 माह

जावास्क्रिप्ट अर्रे विधि flat()

ES2019 ने जेसक्रिप्ट को एक नई तमगाहुँदारी जोड़ी है flat() तमगाहुँदारी तरीका

flat() तरीका निहित तमगाहुँदारी को फ्लैट करके नई तमगाहुँदारी बनाता है。

इनस्टांस

const myArr = [[1,2],[3,4],[5,6]];
const newArr = myArr.flat();

स्वयं को प्रयास करें

2020 वर्ष 1 माह से, सभी आधुनिक ब्राउज़र जेसक्रिप्ट तमगाहुँदारी flat() को समर्थित करते हैं:

च्रोम एज फायरफॉक्स सफारी ओपेरा
च्रोम 69 एज 79 फायरफॉक्स 62 सफारी 12 ओपेरा 56
2018 वर्ष 9 माह 2020 वर्ष 1 माह 2018 वर्ष 9 माह 2018 वर्ष 9 माह 2018 वर्ष 9 माह

जावास्क्रिप्ट अर्रे विधि flatMap()

ES2019 ने जेसक्रिप्ट को एक नई तमगाहुँदारी जोड़ी है flatMap() तमगाहुँदारी तरीका

flatMap() तरीका पहले तमगाहुँदारी तमगाहुँदारी के सभी एलीमेंट्स को मैप करता है, फिर नई तमगाहुँदारी बनाने के लिए तमगाहुँदारी को फ्लैट करता है。

इनस्टांस

const myArr = [1, 2, 3, 4, 5, 6];
const newArr = myArr.flatMap((x) => x * 2);

स्वयं को प्रयास करें

स्थिर अर्रे विधि sort()

ES2019 संशोधन了 Array sort() 方法。

在 2019 年之前,规范允许不稳定的排序算法,例如 QuickSort。

在 ES2019 之后,浏览器必须使用稳定的排序算法:

当根据一个值对元素进行排序时,这些元素必须保持它们与具有相同值的其他元素的相对位置。

इनस्टांस

const myArr = [
  {name:"X00",price:100 },
  {name:"X01",price:100 },
  {name:"X02",price:100 },
  {name:"X03",price:100 },
  {name:"X04",price:110 },
  {name:"X05",price:110 },
  {name:"X06",price:110 },
  {name:"X07",price:110 }

स्वयं को प्रयास करें

उपरोक्त उदाहरण में, कीमत के अनुसार क्रमबद्ध करने पर, परिणाम को अन्य सापेक्षिक स्थानों में नाम के रूप में दिखाने की अनुमति नहीं है, जैसे कि नीचे दिया गया है:

X01 100
X03 100
X00 100
X03 100
X05 110
X04 110
X06 110
X07 110

पुनर्नवीनित JSON.stringify()

ES2019 संशोधनJSON के stringify() विधि को

2019 से पहले, JSON शब्दकोश को \ एनकोडिंग के वाले चिह्नों को शब्दकोशीकरण करने में असमर्थ था。

इनस्टांस

let text = JSON.stringify("\u26D4");

स्वयं को प्रयास करें

ES2019 से पहले, UTF-8 कोड प्वाइंट (U+D800 से U+DFFF) पर JSON.stringify() का उपयोग करने से त्रुटि उत्पन्न होने वाले नुकसानकारी Unicode चिह्न जैसे ��� प्राप्त होते हैं。

इस संशोधन के बाद, UTF-8 कोड प्वाइंट (U+D800 से U+DFFF) वाले शब्दकोशों को JSON.stringify() के द्वारा सुरक्षित रूप से ट्रांसफॉर्म किया जा सकता है और JSON.parse() के द्वारा मूल शब्दकोश को पुनर्वास किया जा सकता है。

विभाजक

शब्दकोश में अब वृत्तांतरक और परिवर्तनक चिह्न का उपयोग किया जा सकता है (\u2028 और \u2029)。

2019 से पहले, ये वृत्तांतरक और त्रुटि उत्पन्न करने वाले माने गए:

इनस्टांस

// यह ES2019 में वैध है:
let text = "\u2028";

स्वयं को प्रयास करें

ध्यान दें

अब, JavaScript और JSON के पास एक ही नियम हैं。

ES2019 से पहले:

text = JSON.parse('"\u2028"') '' में परिवर्तित होगा。

text = '"\u2028"' देता हैव्याकरणिक त्रुटि

पुनर्नवीनित Function toString()

ES2019 संशोधनFunction toString() विधि

toString() विधि फ़ंक्शन स्रोत कोड को वापस करने वाली स्ट्रिंग वापस करती है।

2019 से, toString() को फ़ंक्शन के स्रोत कोड को वापस करना चाहिए, जिसमें टिप्पणी, खाली जगह और व्याकरण विस्तार शामिल हैं।

2019 से पहले, अलग-अलग ब्राउज़रों ने अलग-अलग फ़ंक्शन वेर्सन्स वापस किए (उदाहरण के लिए निर्देशांक और खाली जगहों के बिना)।2019 से शुरू में, फ़ंक्शन पूरी तरह से लिखे गए तरीके से वापस किया जाना चाहिए।

इनस्टांस

function myFunction(p1, p2) {
  return p1 * p2;
}

स्वयं को प्रयास करें

  • पिछला पृष्ठ JS 2018
  • अगला पृष्ठ JS 2020