ECMAScript 2017
ການນຳໃຊ້ນິວສະຫັດ JavaScript ແມ່ນເລີ່ມຈາກ ES1, ES2, ES3, ES5 ແລະ ES6.
ແຕ່ ECMAScript 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 ໄດ້ເພີ່ມສອງວິທີ String:padStart
ແລະ padEnd
,ທີ່ຈະສະໜັບສະໜູນການກະຈາຍບາງສິ່ງໃນຫົວແລະຫລັງຂອງຄວາມສັບສະນະ.
ຕົວຢ່າງ
let str = "5"; str = str.padStart(4,0); // 结果是: 0005
ຕົວຢ່າງ
let str = "5"; str = str.padEnd(4,0); // ຜົນພິຈາລະນາ: 5000
Internet Explorer ບໍ່ສາມາດການປ່ຽນຄວາມນີ້:
Firefox ແລະ Safari ແມ່ນກຸ່ມທໍາອິດທີ່ເຫັນດີ JavaScript String Padding:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 57 | Edge 15 | Firefox 48 | Safari 10 | Opera 44 |
ປີ 2017 ມີນາ 3 | ປີ 2017 ມີນາ 4 | 2016 ປີ 8 ຕຸລາ | 2016 ປີ 9 ຕຸລາ | ປີ 2017 ມີນາ 3 |
ຂໍ້ມູນຂອງລະບົບ JavaScript
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));
Chrome ແລະ Firefox ແມ່ນກຸ່ມທໍາອິດທີ່ເຫັນດີ Object.entries
ຂອງບູບພິມຂາວ:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
2016 ປີ 6 ຕຸລາ | 2016 ປີ 8 ຕຸລາ | 2016 ປີ 6 ຕຸລາ | ປີ 2017 ມີນາ 3 | ປີ 2016 ທັນວາ 10 |
ຈຸດນັກຕັດສິນລະບົບ JavaScript
Object.values
ຄືກັນ Object.entries
ບໍ່ມີການຖອນຄວາມນີ້ໃຫ້ຫຼາຍຫຼັງກັນ:
ຕົວຢ່າງ
const person = { firstName : "Bill", lastName : "Gates", age : 50, eyeColor : "blue" }; document.getElementById("demo").innerHTML = Object.values(person);
Firefox ແລະ Chrome ແມ່ນກຸ່ມທໍາອິດທີ່ເຫັນດີ Object.values
ຂອງບູບພິມຂາວ:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 54 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
ປີ 2016 ທັນວາ 10 | 2016 ປີ 8 ຕຸລາ | 2016 ປີ 6 ຕຸລາ | ປີ 2017 ມີນາ 3 | ປີ 2016 ທັນວາ 10 |
JavaScript Function Async
ການລໍຖ້າພາວະທີ່ຫຼາຍຂຶ້ນ
async function myDisplay() { let myPromise = new Promise(function(myResolve, myReject) { setTimeout(function() { myResolve("I love You !!"); }, 3000); }); document.getElementById("demo").innerHTML = await myPromise; } myDisplay();
Firefox ແລະ Chrome ແມ່ນກຸ່ມທໍາອິດຂອງການສະໜັບສະໜູນ JavaScript Function Asynchronous:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
ປີ 2016 ທັນວາ 12 | ປີ 2017 ມີນາ 4 | ປີ 2017 ມີນາ 3 | ປີ 2017 ກັນຍາ 9 | ປີ 2016 ທັນວາ 12 |