ES ย่อมาจากคำว่า ECMAScript คือมาตรฐานของภาษา JavaScript ที่กำหนดโดยองค์กร European Association for Standardizing Information and Communication Systems หรือ Ecma International เพื่อให้ภาษา Script นั้นมีความเป็น Standard และพัฒนาเรื่อยมาจนถึงปัจจุบัน ส่วน ES6 นั้นก็เป็น ES2015 ครับ เรามาดูกันมีการเปลี่ยนอะไรเกิดขึ้นบ้าง ใน javascript  ES6

การประกาศตัวแปรเปลี่ยนไปจาก var สู่ let และ const

ซึ่งปกติแล้วเรามักจะประกาศตัวแปรของ javaScript ด้วย var แต่ปัญหาที่เรามักจะพบบ่อยในการเขียน javaScript คือตัวแปรที่เราประกาศมักจะทะลุ Block หรือ ส่วนที่อยู่ใน ครื่องหมาย {} เนื่องจาก var จะมี Scope อยู่ระดับ Function ดังนั้น ES6 จึงเพิ่มการประกาศตัวแปรในระดับ Block Scope ด้วย let เพื่อแก้ปัญหาดังกล่าว และ Const เพื่อประกาศตัวแปรที่เป็นค่าคงที่ ซึ่งจะคล้าย ๆ กับภาษา Java สามารถอ่านเนื้อหาเพิ่มเติมเรื่อง var กับ let ที่นี่

ตัวอย่างโค้ด การใช้ var,let และ const 

var array = []
for (var i = 0; i < 3; i++) {
  array.push(i)
}
console.log(array) // returns [0, 1, 2]
console.log(i)  // returns 3
// let array = []   --> duplicate declaration of 'array'
let newarr = []
for (let j = 0; j < 3; j++) {
  newarr.push(j)
}
console.log(newarr) // returns [0, 1, 2]
console.log("value of j"+ j) // returns undefined
const PI = 3.14
console.log(PI)
PI=2.11 // returns an error " PI is readOnly "

 

semicolon ไม่จำเป็นอีกต่อไป 

ในที่นี้ไม่ใช้ว่า JavaScript ES6 ไม่ต้องใส่ semicolon เพียงแต่ เวอร์ชันนี้ JavaScript ฉลาดพอที่จะเติมให้เราโดยอัตโนมัต หรือเรียกว่า Automatic Semicolon แต่หากจะใส่เองก็สามารถทำได้ 

// โค๊ดที่เปลือยเปล่าไร้ semicolon 

function bar(){
  var id='bar'
  return id
}

console.log(bar()) // bar

เขียน Code สั้นลง เพียงแค่ใช้ => หรือ Arrow Function 

การเขียน JavaScript Functions ใน ES6 นั้นสามารถทำได้ง่ายขึ้นและทำให้ Code สั้นลง เพียงแค่ใช้ => หรือ Arrow Function  ซึ่งต่างแบบปกติที่เราจะประกาศฟังก์ชันด้วยการใช้คีย์เวิร์ด function.    ส่วน Arrow function ไม่ได้เปลี่ยนไปแค่ไวยากรณ์ แต่ยังเข้าถึง this จาก Scope ที่ครอบมันอยู่ (Lexical binding) ดังนี้

// ES5
function(arguments) {

}

// ES2015
(arguments) => {

}

ทั้งหมดนี้ก็เป็นเพียงส่วนหนึ่งของการเปลี่ยนแปลงใน JavaScript ซึ่งไม่รวมถึง เวอร์ชัน ES7 ES8 ES9 ที่มี Feature ใหม่ๆมากมาย ที่สามารถเพิ่มประสิทธิภาพในการเขียน JavaScript มากขึ้นรวมทั้ง สามารถลดการโด้ดได้มาก ซึ่งจะต้องศึกษากันต่อไปครับ  

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : JavaScript

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Google Chrome เข้าเว็ปที่เป็น HTTP ไม่ได้จะเป็นอย่างไร
โดย noncup302 พ 10 ม.ค. 2024 12:26 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
737
พฤ 11 ม.ค. 2024 8:53 pm โดย บุคคลทั่วไป View Topic Google Chrome เข้าเว็ปที่เป็น HTTP ไม่ได้จะเป็นอย่างไร
อินเตอร์เน็ตบ้าน กับ Corporate ต่างกันอย่างไร
โดย Anonymous อ 09 ม.ค. 2024 12:40 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
327
พ 10 ม.ค. 2024 12:24 pm โดย noncup302 View Topic อินเตอร์เน็ตบ้าน กับ Corporate ต่างกันอย่างไร
ตรวจสอบข้อมูลภาษี MyTaxAccount - เพื่อยื่นแบบแสดงรายการภาษีเงินได้บุคคลธรรมดา (แบบ ภ.ง.ด.90/ภ.ง.ด.91)
โดย mindphp อ 07 ม.ค. 2024 6:05 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
1077
อ 07 ม.ค. 2024 6:09 pm โดย mindphp View Topic ตรวจสอบข้อมูลภาษี MyTaxAccount - เพื่อยื่นแบบแสดงรายการภาษีเงินได้บุคคลธรรมดา (แบบ ภ.ง.ด.90/ภ.ง.ด.91)
ใครใช้ SSH อัพเกรดด่วน เครื่องคุณกำลังมีความเสียงสำหรับคนที่ใช้ OpenSSH ต่ำกว่าเวอร์ชั่น 9.5
โดย mindphp อ 07 ม.ค. 2024 3:15 am บอร์ด MindPHP News & Feedback
1
283
อ 07 ม.ค. 2024 3:20 am โดย mindphp View Topic ใครใช้ SSH อัพเกรดด่วน เครื่องคุณกำลังมีความเสียงสำหรับคนที่ใช้ OpenSSH ต่ำกว่าเวอร์ชั่น 9.5
สอบถามครับ Joomla ใช้ Hosting ของอะไรดีครับ
โดย Anonymous อ 07 ม.ค. 2024 3:00 am บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
737
อ 07 ม.ค. 2024 6:34 pm โดย mindphp View Topic สอบถามครับ Joomla ใช้ Hosting ของอะไรดีครับ
หากคุณเป็นแฟนตัวยงของฟุตบอลไทย คือเว็บไซต์ที่คุณห้ามพลาด
โดย chenyuting ศ 05 ม.ค. 2024 4:52 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
390
ศ 05 ม.ค. 2024 4:52 pm โดย chenyuting View Topic หากคุณเป็นแฟนตัวยงของฟุตบอลไทย คือเว็บไซต์ที่คุณห้ามพลาด
จะติดตั้ง sql server php driver บน mac
โดย Anonymous ศ 05 ม.ค. 2024 2:07 pm บอร์ด Programming - PHP
1
958
ส 06 ม.ค. 2024 7:25 pm โดย mindphp View Topic จะติดตั้ง sql server php driver บน mac
สอบถามการหา Channel access token ของไลน์ Notify
โดย Thanavat_n พฤ 04 ม.ค. 2024 11:51 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
425
ศ 05 ม.ค. 2024 8:24 am โดย emptyspace View Topic สอบถามการหา Channel access token ของไลน์ Notify