ECMAScript 2017
JavaScript ਦੀਆਂ ਨਾਮਕਰਣ ਸ਼ਕਲਾਵਾਂ ES1, ES2, ES3, ES5 ਅਤੇ ES6 ਤੋਂ ਸ਼ੁਰੂ ਹੋਈਆਂ ਹਨ。
ਪਰ ਐਕਮਾਸਕ੍ਰਿਪਟ 2016 ਅਤੇ 2017 ਨੂੰ ES7 ਅਤੇ ES8 ਨਹੀਂ ਕਿਹਾ ਗਿਆ ਹੈ。
2016 ਤੋਂ ਲੈ ਕੇ ਨਵੀਂ ਸੰਸਕਰਣ ਸਾਲ ਦੇ ਨਾਮ ਨਾਲ ਪ੍ਰਕਾਸ਼ਿਤ ਹੋਈਆਂ ਹਨ (ECMAScript 2016/2017/2018)。
ECMAScript 2017 ਵਿੱਚ ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
ਇਸ ਪ੍ਰਕਾਰ ਇਸ ਚਾਪ ਵਿੱਚ ECMAScript 2017 ਦੀਆਂ ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਪ੍ਰਸਤੁਤੀ ਕੀਤੀ ਜਾਵੇਗੀ:
- JavaScript ਸਟਰਿੰਗ ਪੂਰਣਤਾ
- JavaScript Object.entries
- JavaScript Object.values
- JavaScript ਅਸਿਨਕਰਨ ਫੰਕਸ਼ਨ
- JavaScript ਸਾਂਝੀ ਮੈਮੋਰੀ
JavaScript ਸਟਰਿੰਗ ਪੂਰਣਤਾ
ECMAScript 2017 ਨੇ ਦੋ ਸਟਰਿੰਗ ਮੱਥਾਵਾਂ ਜੋੜੀਆਂ ਹਨ:padStart
ਅਤੇ padEnd
ਅਤੇ ਇਹ ਪੂਰਣ ਕਰਨ ਲਈ ਹੈ ਕਿ ਮੁੱਢਲੇ ਅਤੇ ਅੰਤਮ ਭਾਗ ਵਿੱਚ ਭਰਨ ਦੀ ਸਹੂਲਤ ਹੋਵੇ。
ਇੱਕ ਉਦਾਹਰਣ
let str = "5"; str = str.padStart(4,0); // ਨਤੀਜਾ ਹੈ: 0005
ਇੱਕ ਉਦਾਹਰਣ
let str = "5"; str = str.padEnd(4,0); // ਨਤੀਜਾ: 5000
ਇੰਟਰਨੈੱਟ ਐਕਸਪਲੋਰਰ ਸਟਰਿੰਗ ਫਿੱਲਿੰਗ ਨੂੰ ਸਮਰਥਕ ਨਹੀਂ ਹੈ。
ਫਾਇਰਫਾਕਸ ਅਤੇ ਸਫਾਰੀ ਪਹਿਲੇ ਸਮਰਥਕ ਬਰਾਊਜ਼ਰ ਹਨ ਜੋ ਜਾਵਾਸਕ੍ਰਿਪਟ ਦੇ ਸਟਰਿੰਗ ਫਿੱਲਿੰਗ ਨੂੰ ਸਮਰਥਕ ਹਨ:
کروم | آئیای | فایرفاکس | سافاری | آپرا |
---|---|---|---|---|
ਚਰੋਮ 57 | ایج 15 | ਫਾਇਰਫਾਕਸ 48 | ਸਫਾਰੀ 10 | ਓਪਰਾ 44 |
مارس 2017 | آوریل 2017 | 2016 ਦੇ ਅਗਸਤ | 2016 ਦੇ ਸਤੰਬਰ | مارس 2017 |
ਜਾਵਾਸਕ੍ਰਿਪਟ ਆਬਜੈਕਟ ਪ੍ਰਵੇਸ਼
ECMAScript 2017 ਨੇ ਆਬਜੈਕਟ ਵਿੱਚ ਨਵੇਂ Object.entries
ਮੱਥੋਦ
Object.entries() ਮੱਥੋਦ ਆਬਜੈਕਟ ਵਿੱਚ ਕੀ/ਮੁੱਲ ਜੋੜਿਆਂ ਦੀ ਸ਼ਰਤ ਦੇ ਮੰਡਲ ਦਾ ਪ੍ਰਤੀਕਸ਼ ਦਿੰਦਾ ਹੈ:
ਇੱਕ ਉਦਾਹਰਣ
const person = { firstName : "Bill", lastName : "Gates", age : 50, eyeColor : "blue" }; document.getElementById("demo").innerHTML = Object.entries(person);
Object.entries() ਵਿੱਚ ਆਬਜੈਕਟ ਦੀ ਵਰਤੋਂ ਨੂੰ ਅਸਾਨ ਬਣਾਉਂਦਾ ਹੈ:
ਇੱਕ ਉਦਾਹਰਣ
const fruits = {Bananas:300, Oranges:200, Apples:500}; let text = ""; for (let [fruit, value] of Object.entries(fruits)) { text += fruit + ": " + value + " "; }
Object.entries() ਵੀ ਆਬਜੈਕਟ ਨੂੰ ਮੈਪ ਵਿੱਚ ਬਦਲਣ ਨੂੰ ਅਸਾਨ ਬਣਾਉਂਦਾ ਹੈ:
ਇੱਕ ਉਦਾਹਰਣ
const fruits = {Bananas:300, Oranges:200, Apples:500}; const myMap = new Map(Object.entries(fruits));
ਚਰੋਮ ਅਤੇ ਫਾਇਰਫਾਕਸ ਪਹਿਲੇ ਸਮਰਥਕ ਹਨ Object.entries
ਦੇ ਬਰਾਊਜ਼ਰਜ਼:
کروم | آئیای | فایرفاکس | سافاری | آپرا |
---|---|---|---|---|
ਚਰੋਮ 47 | ਐਜ਼ਡ 14 | ਫਾਇਰਫਾਕਸ 47 | ਸਫਾਰੀ 10.1 | ਓਪਰਾ 41 |
2016 ਦੇ ਜੂਨ | 2016 ਦੇ ਅਗਸਤ | 2016 ਦੇ ਜੂਨ | مارس 2017 | اکتبر 2016 |
ਜਾਵਾਸਕ੍ਰਿਪਟ ਦੇ ਆਬਜੈਕਟ ਦੇ ਮੁੱਲ
Object.values
ਅਨੁਰੂਪ Object.entries
، ਪਰ ਇੱਕ ਏਕ ਪਰਿਭਾਸ਼ਤ ਮਾਪਦੰਡ ਮੁੱਲਾਂ ਦਾ ਪ੍ਰਤੀਕਸ਼ ਦਿੰਦਾ ਹੈ:
ਇੱਕ ਉਦਾਹਰਣ
const person = { firstName : "Bill", lastName : "Gates", age : 50, eyeColor : "blue" }; document.getElementById("demo").innerHTML = Object.values(person);
ਫਾਇਰਫਾਕਸ ਅਤੇ ਚਰੋਮ ਪਹਿਲੇ ਸਮਰਥਕ ਹਨ Object.values
ਦੇ ਬਰਾਊਜ਼ਰਜ਼:
کروم | آئیای | فایرفاکس | سافاری | آپرا |
---|---|---|---|---|
ਚਰੋਮ 54 | ਐਜ਼ਡ 14 | ਫਾਇਰਫਾਕਸ 47 | ਸਫਾਰੀ 10.1 | ਓਪਰਾ 41 |
اکتبر 2016 | 2016 ਦੇ ਅਗਸਤ | 2016 ਦੇ ਜੂਨ | مارس 2017 | اکتبر 2016 |
توابع Async JavaScript
تأخیر در انتظار
async function myDisplay() { let myPromise = new Promise(function(myResolve, myReject) { setTimeout(function() { myResolve("I love You !!"); }, 3000); }); document.getElementById("demo").innerHTML = await myPromise; } myDisplay();
فایرفاکس و کروم اولین مرورگرهایی هستند که از توابع JavaScript آسنکری همگام پشتیبانی میکنند:
کروم | آئیای | فایرفاکس | سافاری | آپرا |
---|---|---|---|---|
کروم 55 | ایج 15 | فایرفاکس 52 | سافاری 11 | آپرا 42 |
دسامبر 2016 | آوریل 2017 | مارس 2017 | سپتامبر 2017 | دسامبر 2016 |