Jaynarol Blog

ว่าด้วยเรื่อง ES6 : ฉบับปูพื้น

ES6?

ES6 หรือชื่อเต็มๆว่า ECMAScript 6 หรือ ECMAScript 2015 ดูชื่อครั้งแรกอาจจะรู้สึกแปลกๆและไม่คุ้นเคย

แต่แท้จริงแล้วมันใกล้ตัวเรามากกว่าที่คิด แต่ไม่ต้องคิดเยอะ เดี๋ยวเฉลยให้ 555+

มันคือเวอร์ชั่นล่าสุดของภาษา JavaScript นั่นเอง

 

Short Story

JavaScript ที่เราใช้งานอยู่ในทุกวันนี้ได้ถูกเขียนขึ้นโดย Brendan Eich ด้วยเวลาเพียง 10 วันในปี 1990

เปิดตัวทางการเวอร์ชั่น 1 ในปี 1997 จากนั้นก็พัฒนามาอย่างยาวนานและต่อเนื่องและตันที่เวอร์ชั่น 5 ตั้งแต่ปี 2009 (5.1:2011)

โดยก่อนหน้านี้รูปแบบการอัพเดทส่วนใหญ่ก็เพียงแค่การเพิ่มความสามารถหรือฟังชั่นใหม่ๆเข้าไปเท่านั้น

 

Problem

ด้วยความที่ JavaScript ได้เริ่มเข้ามามีบทบาทมากขึ้นในปัจจุบันอย่างก้าวกระโดด

ไม่ว่าจะด้านเว็บไซต์บนฝั่ง Client ลามไปจนฝั่ง Server แม้กระทั่งการพัฒนาแอพพลิเคชั่นบนมือถือก็ไม่พ้น

เรียกได้ว่ารู้ภาษานี้ภาษาเดียวหากินได้ครบทุกทางจริงๆ

และสิ่งที่ทำให้เกิดความฮือฮามากที่สุดในช่วงนึงคงไม่พ้น AngularJs Framework

ที่ช่วยให้สามารถสร้างเว็บไซต์ประเภท SPA (single page application) หล่อๆ ได้อย่างง่ายดาย  (รึป่าว..)

แต่ทว่าด้วยรูปแบบของตัวภาษานั้น แต่เดิมตั้งใจเพียงเพื่อใช้สำหรับทำงานเล็กๆ และถูกออกแบบมาไม่ดีเท่าที่ควร

การใช้งานมันอย่างหนักหน่วงนั้นย่อมเกิดผลเสียกับ performance ของเว็บไซต์อย่างแน่นอน

 

Solution

เหล่าผู้พัฒนาต่างๆก็ต่างหาวิธีแก้ไขกันมากมายหลายรูปแบบเท่าที่จะนึกได้

Google ขอนำเสนอ Dart ซึ่งเคลมว่าเป็นภาษาที่มีประสิทธิภาพสูงมากในขณะนั้น

Microsoft เปิดตัว TypeScript ตามมาเช่นกัน ซึ่งเคลมว่าคงความเป็น JavaScript เดิมๆ ไม่ต้องเรียนรู้เพิ่มเยอะ

อีกทั้งยังมี CoffeeScript และภาษาอื่นๆที่ต่างช่วยกันหา Solution ใหม่ให้กับ JavaScript

แต่ถึงอย่างนั้นทุกภาษาที่กล่าวมาข้างต้นทำหน้าที่เป็นเพียงแค่ Superset ของ JavaScript อีกชั้นนึงเท่านั้น

ตอนทำงานจริงต้องแปลงกลับไปเป็น JavaScript เหมือนเดิม เนื่องจากต้องคงความเข้ากันได้กับบราวเซอร์ไว้

การแก้ปัญหาที่ดีที่สุดคงไม่พ้นการพัฒนารากฐานของ JavaScript ซึ่งเป็นที่มาของ ES6 นั่นเอง

 

จากเนื้อหาทั้งหมดนี้ ES6 จึงเรียกได้ว่าเป็นการปฎิวัติครั้งสำคัญ ครั้งนึงของ JavaScript ที่ไม่พูดถึงไม่ได้จริงๆ

บทความหน้าผมจะมาเจาะลึกในแต่ละส่วนของ ES6 ว่ามีอะไรใหม่ๆบ้างและดีขึ้นกว่าเดิมยังไง

รอติดตามได้เลยครับ  🙂