ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

   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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบวิธีตรวจสอบว่าอาเรย์ 2 ชุดมีค่าเหมือนกันหรือเปล่า ครับ
โดย waterwelon อ 25 ก.พ. 2020 3:32 pm บอร์ด Programming - PHP
0
22
อ 25 ก.พ. 2020 3:32 pm โดย waterwelon
ความแข็งแกร่ง
โดย noppadonsk อ 25 ก.พ. 2020 11:13 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
อ 25 ก.พ. 2020 11:13 am โดย noppadonsk
อยากทราบวิธีตรวจสอบข้อมูลครับ
โดย waterwelon อ 25 ก.พ. 2020 10:58 am บอร์ด Programming - PHP
2
27
อ 25 ก.พ. 2020 11:13 am โดย Ittichai_chupol
Welcome to International school in Chonburi.
โดย tomtam1771 อ 25 ก.พ. 2020 12:30 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
7
อ 25 ก.พ. 2020 12:30 am โดย tomtam1771
วิธีปิด ไม่ได้ teamviewerd ทำงานบน Ubunto
โดย mindphp จ 24 ก.พ. 2020 4:31 pm บอร์ด Linux - Web Server
0
27
จ 24 ก.พ. 2020 4:31 pm โดย mindphp
แก้ปัญหา Vmware ของเรารัน Host ไม่ได้ เจอข้อความ This virtual machine is configured for 64-bit guest operating systems
โดย mindphp จ 24 ก.พ. 2020 3:37 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
723
จ 24 ก.พ. 2020 3:37 am โดย mindphp
จะทำอย่างไรให้ ค่าในอาเรย์ที่ซ้ำกันเหลือแค่ค่าเดียวครับ
โดย waterwelon ศ 21 ก.พ. 2020 2:04 pm บอร์ด Programming - PHP
2
47
ศ 21 ก.พ. 2020 2:34 pm โดย waterwelon
ความรุนแรงในเด็กๆ
โดย noppadonsk ศ 21 ก.พ. 2020 11:47 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
26
ศ 21 ก.พ. 2020 11:47 am โดย noppadonsk
องค์ประกอบพื้นฐานของการจัดทำ Extension ใน phpBB 3 ส่วนของ admin
โดย Ittichai_chupol พฤ 20 ก.พ. 2020 1:56 pm บอร์ด PHP Knowledge
0
30
พฤ 20 ก.พ. 2020 1:56 pm โดย Ittichai_chupol
ประทานโทษ
โดย noppadonsk พฤ 20 ก.พ. 2020 12:54 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
16
พฤ 20 ก.พ. 2020 12:54 pm โดย noppadonsk
มาแล้ว Plugin System MooZiiCart Auto Close สำหรับตั้งเวลาเปิดปิดระบบการสั่งซื้อสินค้าออนไลน์
โดย prmindphp พ 19 ก.พ. 2020 6:40 pm บอร์ด MindPHP News & Feedback
0
89
พ 19 ก.พ. 2020 6:40 pm โดย prmindphp
ถ้าคุณต้องเลือก
โดย noppadonsk พ 19 ก.พ. 2020 11:22 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
23
พ 19 ก.พ. 2020 11:22 am โดย noppadonsk
อยากจะทราบว่าวิธีการแสดงค่าอาเรย์แต่ล่ะค่าครับ
โดย waterwelon พ 19 ก.พ. 2020 11:04 am บอร์ด Programming - PHP
2
46
พ 19 ก.พ. 2020 11:58 am โดย thatsawan
คลายเครียด
โดย noppadonsk อ 18 ก.พ. 2020 2:50 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
42
อ 18 ก.พ. 2020 2:50 pm โดย noppadonsk
7 สิ่งที่ต้องปรับปรุงเพื่อลดค่า Bounce Rate บนหน้าเว็บไซต์
โดย phasamon อ 18 ก.พ. 2020 10:22 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
33
อ 18 ก.พ. 2020 10:22 am โดย phasamon
อยากให้ธุรกิจเป็นที่รู้จักบนโลกออนไลน์ ลองหาบริษัทรับทำ SEO ดูซิ !
โดย totheworld จ 17 ก.พ. 2020 3:34 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
73
จ 17 ก.พ. 2020 3:34 pm โดย totheworld
สี่เหตุผลที่ควรปรับปรุงเว็บไซต์
โดย phasamon จ 17 ก.พ. 2020 2:05 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
53
จ 17 ก.พ. 2020 2:05 pm โดย phasamon
อย่าได้พลาดเชียว
โดย noppadonsk จ 17 ก.พ. 2020 10:52 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
28
จ 17 ก.พ. 2020 10:52 am โดย noppadonsk
วิธีการแก้ไขปํญหา undefined index กรณีกำหนดเงือนไขเทียบค่าอาร์เรย์
โดย Ittichai_chupol ศ 14 ก.พ. 2020 5:50 pm บอร์ด PHP Knowledge
0
128
ศ 14 ก.พ. 2020 5:50 pm โดย Ittichai_chupol
เรื่องน่าเศร้า
โดย noppadonsk ศ 14 ก.พ. 2020 10:19 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
81
ศ 14 ก.พ. 2020 10:19 am โดย noppadonsk