ECMAScript 2017

  • ຫນ້າທີ່ຫຼັງ JS 2016
  • ຫນ້າທີ່ໜ້າ JS 2018

ການນຳໃຊ້ນິວສະຫັດ 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
  • ຫນ້າທີ່ຫຼັງ JS 2016
  • ຫນ້າທີ່ໜ້າ JS 2018