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

   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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ถ้าต้องการจะส่งเมล เเล้วแนบไฟล์ไปด้วยใน phpbb ทำยังไงคะ
โดย thatsawan ส 11 ก.ค. 2020 11:33 am บอร์ด Programming - PHP
2
62
ส 11 ก.ค. 2020 3:10 pm โดย mindphp
การเพิ่มกรอบจอโทรศัพท์มือถือบน Google Chrome
โดย natthanit.r2538 ส 11 ก.ค. 2020 10:41 am บอร์ด Share Knowledge
0
9
ส 11 ก.ค. 2020 10:41 am โดย natthanit.r2538
งานประจำวันที่ 11 กรกฏาคม 2563
โดย Phakakrong ส 11 ก.ค. 2020 9:22 am บอร์ด M105 - ผกากรอง กุสาวดี
3
19
ส 11 ก.ค. 2020 6:48 pm โดย Phakakrong
ถ้าต้องการเช็คค่าว่าง select ให้ alert ก่อนก่อนปุ่มอื่นๆ ทำยังไงได้บ้างคะ
โดย thatsawan ศ 10 ก.ค. 2020 4:18 pm บอร์ด JavaScript & Jquery Ajax
1
27
ศ 10 ก.ค. 2020 4:59 pm โดย tsukasaz
งานประจำวันที่ 10 กรกฏาคม 2563
โดย Phakakrong ศ 10 ก.ค. 2020 9:35 am บอร์ด M105 - ผกากรอง กุสาวดี
5
20
ศ 10 ก.ค. 2020 7:58 pm โดย Phakakrong
Google Sheet : วิธีการเปลี่ยนภาษา (ไทย เป็น อังกฤษ)
โดย Phakakrong พฤ 09 ก.ค. 2020 6:34 pm บอร์ด Share Knowledge
0
18
พฤ 09 ก.ค. 2020 6:34 pm โดย Phakakrong
มาลองใช้งาน Google Drive กันแบบฉบับง่ายๆ
โดย Phakakrong พฤ 09 ก.ค. 2020 4:08 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
19
พฤ 09 ก.ค. 2020 4:08 pm โดย Phakakrong
ข้อมูลไม่ขึ้นมาแสดง รบกวนช่วยดูโค้ดให้ทีคะ คือทำหน้าแบบฟอร์ม แล้วต้องการแก้ไขข้อมูลตามไอดี
โดย Jakkrit Saengngoenon พฤ 09 ก.ค. 2020 1:24 pm บอร์ด Programming - PHP
0
26
พฤ 09 ก.ค. 2020 1:24 pm โดย Jakkrit Saengngoenon
งานประจำวันที่ 9 กรกฏาคม 2563
โดย Phakakrong พฤ 09 ก.ค. 2020 9:40 am บอร์ด M105 - ผกากรอง กุสาวดี
1
28
พฤ 09 ก.ค. 2020 6:51 pm โดย Phakakrong
สรุปผลการเรียน Process help desk
โดย Phakakrong พ 08 ก.ค. 2020 7:05 pm บอร์ด M105 - ผกากรอง กุสาวดี
1
11
พฤ 09 ก.ค. 2020 10:29 am โดย Phakakrong
ISO 29110 คืออะไร มาตรฐานที่ให้การรับรองคุณภาพการบริหารงาน หรือผลิตภัณฑ์ซอร์ฟแวร์ มีขั้นตอนการขออย่างไหร่
โดย natthanit.r2538 พ 08 ก.ค. 2020 7:02 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
34
พ 08 ก.ค. 2020 9:59 pm โดย UoIU112
การ Link ข้อมูลข้าม Sheet /ข้ามไฟล์ ใน Excel แบบง่ายๆ
โดย Phakakrong พ 08 ก.ค. 2020 6:55 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
22
พ 08 ก.ค. 2020 6:55 pm โดย Phakakrong
ข้อควรรู้เกี่ยวกับการลดหย่อนภาษีด้วยเงินบริจาคมูลนิธิ
โดย medalezga พ 08 ก.ค. 2020 1:55 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
19
พ 08 ก.ค. 2020 1:55 pm โดย medalezga
แนะนำ 10 โปรแกรมตัดต่อวิดีโอบน PC ทั้งฟรีและเสียเงิน
โดย Phakakrong พ 08 ก.ค. 2020 1:30 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
24
พ 08 ก.ค. 2020 1:30 pm โดย Phakakrong
งานประจำวันที่ 8 กรกฏาคม 2563
โดย Phakakrong พ 08 ก.ค. 2020 9:28 am บอร์ด M105 - ผกากรอง กุสาวดี
3
42
พ 08 ก.ค. 2020 7:16 pm โดย Phakakrong
SMS Gateway คืออะไร
โดย natthanit.r2538 อ 07 ก.ค. 2020 5:11 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
45
พ 08 ก.ค. 2020 5:15 pm โดย natthanit.r2538
ใบเสนอราคา (Quotation) คืออะไร
โดย Phakakrong อ 07 ก.ค. 2020 4:55 pm บอร์ด Share Knowledge
0
49
อ 07 ก.ค. 2020 4:55 pm โดย Phakakrong
วิธีการเดินทางจากอำเภอเชียงคำ จ.พะเยา มา กรุงเทพมหานคร
โดย Phakakrong อ 07 ก.ค. 2020 12:03 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
54
อ 07 ก.ค. 2020 12:03 pm โดย Phakakrong
Note
โดย Phakakrong อ 07 ก.ค. 2020 11:16 am บอร์ด M105 - ผกากรอง กุสาวดี
1
7
พ 08 ก.ค. 2020 10:09 am โดย Phakakrong
list ความรู้ที่มี ว่าเคยเรียน หรือ เคยทำอะไรมาบ้าง
โดย Phakakrong อ 07 ก.ค. 2020 11:01 am บอร์ด M105 - ผกากรอง กุสาวดี
3
25
อ 07 ก.ค. 2020 3:27 pm โดย Phakakrong