39 คะแนน โดย GN⁺ 2025-05-29 | 10 ความคิดเห็น | แชร์ทาง WhatsApp
  • เนื่องในโอกาสครบรอบ 30 ปีของ JavaScript ในปีนี้ Deno ได้สรุปประวัติที่ผ่านมาไว้แบบย่อ
  • JavaScript เริ่มต้นจากการเป็น ภาษาสคริปต์ที่พัฒนาขึ้นภายใน 10 วัน และปัจจุบันได้กลายเป็น ภาษาที่ได้รับความนิยมมากที่สุดในโลก
  • แนะนำช่วงเวลาสำคัญทางประวัติศาสตร์บางส่วนที่แสดงให้เห็นว่า JavaScript พัฒนามาอย่างไร และกำลังมุ่งหน้าไปทางไหนในอนาคต

A brief history of JavaScript (1994-2025)

[1994]

  • เปิดตัว Netscape Navigator 1.0

    • ธันวาคม 1994 เปิดตัว Netscape Navigator 1.0
    • ปัจจัยที่ทำให้ได้รับความนิยมคือมีความเร็วมากกว่าเบราว์เซอร์รุ่นก่อน และมี GUI
    • พร้อมรองรับ HTML 2.0 ซึ่งปูพื้นฐานให้ JavaScript สามารถทำงานบนเบราว์เซอร์นี้ได้ในเวลาต่อมา

[1995]

  • กำเนิดของ JavaScript

    • พฤษภาคม 1995 Brendan Eich พัฒนาร่างแรกของ JavaScript ภายใน 10 วัน
    • พัฒนาขึ้นตามคำขอให้สร้างภาษาสคริปต์ที่มีไวยากรณ์คล้าย Java ซึ่งกำลังได้รับความนิยมในขณะนั้น
    • ชื่อถูกกำหนดให้เป็น JavaScript เพื่อวัตถุประสงค์ทางการตลาด
  • การประกาศอย่างเป็นทางการของ Netscape และ Sun

    • ธันวาคม 1995 มีการประกาศ JavaScript ว่าเป็น “ภาษาสคริปต์เชิงวัตถุแบบน้ำหนักเบาสำหรับเว็บ”
    • มีการประกาศพร้อมแรงสนับสนุนจากบริษัทเทคโนโลยี 28 แห่ง และถูกวางตำแหน่งให้เป็นภาษาที่คำนึงถึงการใช้งานระดับองค์กรด้วย

[1996]

  • การตอบโต้ของ Microsoft

    • มีนาคม 1996 Microsoft ใส่ JScript ลงใน Internet Explorer 3
    • JScript สามารถเชื่อมกับ ActiveX เพื่อควบคุมแอปพลิเคชันอย่าง Excel ได้
  • เปิดตัว Navigator 2.0 ที่มาพร้อม JavaScript 1.0

    • ในเดือนมีนาคมปีเดียวกัน JavaScript 1.0 เปิดตัวอย่างเป็นทางการ บน Netscape Navigator 2.0
    • แนวคิดของ DOM (Document Object Model) เริ่มต้นขึ้นในช่วงเวลานี้

[1997]

  • เสนอให้ ECMA ทำมาตรฐาน

    • มิถุนายน 1997 Netscape เสนอให้ ECMA International กำหนดมาตรฐานของ JavaScript
    • มีเป้าหมายเพื่อ แก้ปัญหาความเข้ากันได้ กับ JScript ของ Microsoft
    • เกิดสเปกชื่อ ECMA-262 และกำหนดชื่อว่า ECMAScript
    • มีการจัดตั้ง คณะกรรมการ TC39 เพื่อเริ่มดูแลการพัฒนาของภาษา

[1998]

  • เริ่มต้นโครงการ Mozilla

    • มกราคม 1998 เพื่อตอบโต้การผูกขาดตลาดเบราว์เซอร์ของ Microsoft Netscape ได้เปิดซอร์สโค้ด
    • ชื่อโครงการคือ “Mozilla” และต่อมาได้นำไปสู่ผลงานโอเพนซอร์สมากมาย เช่น Firefox, Rust
  • ประกาศ ECMAScript 2

    • กันยายน 1998 มีการประกาศ ECMAScript 2 อย่างเป็นทางการ
    • แม้ไม่มีฟีเจอร์ใหม่ แต่มีเป้าหมายหลักเพื่อทำให้สเปกมีความสอดคล้องกันและเอกสารถูกปรับให้สมบูรณ์ขึ้น

[1999]

  • IE5 และการนำ XMLHttpRequest มาใช้

    • มีนาคม 1999 IE5 นำ XMLHttpRequest มาใช้
    • สิ่งนี้กลายเป็นรากฐานของเทคโนโลยี AJAX ในเวลาต่อมา
  • การปรากฏตัวของ JSDoc

    • เมษายน 1999 มีการเปิดตัว JSDoc สำหรับการจัดทำเอกสารของ JavaScript
    • ได้รับอิทธิพลจาก Javadoc ของฝั่ง Java และยังคงถูกใช้งานเป็นเครื่องมือสร้างเอกสารมาจนถึงปัจจุบัน
  • ประกาศ ECMAScript 3

    • ธันวาคม 1999 มีการประกาศ ECMAScript 3 อย่างเป็นทางการ
    • ด้วยการเพิ่ม do-while, regular expression, เมธอดของสตริง, การจัดการข้อยกเว้น ฯลฯ จึง วางรากฐานให้ภาษาเติบโตอย่างจริงจัง
    • หลังจากนั้นถูกใช้เป็นมาตรฐานโดยพฤตินัยของ JavaScript บนเว็บอยู่นานกว่าสิบปี

[2001]

  • การปรากฏตัวครั้งแรกของ JSON

    • มีการส่งข้อความ JSON แรกเป็นครั้งแรก
    • มีการใช้โครงสร้างอ็อบเจ็กต์ในรูปแบบ { to, do, text } ภายในสคริปต์บนหน้าเว็บ
    • เป็น ฟอร์แมตข้อความน้ำหนักเบาที่อิงกับ JavaScript และต่อมาได้กลายเป็นมาตรฐานของการสื่อสารกับเว็บ API

[2002]

  • การนำ JSLint มาใช้

    • Douglas Crockford เปิดตัวเครื่องมือตรวจสอบไวยากรณ์แบบสแตติก JSLint
    • ช่วยยกระดับคุณภาพโค้ด JavaScript และต่อยอดไปสู่หนังสือของเขา “JavaScript: The Good Parts”
  • เปิดตัว Phoenix 0.1 บรรพบุรุษของ Firefox

    • ชุมชน Mozilla พัฒนา Phoenix ซึ่งเป็นเบราว์เซอร์น้ำหนักเบา เพื่อตอบโต้ความเทอะทะของชุดผลิตภัณฑ์เดิม
    • มาพร้อมฟีเจอร์ล้ำสมัยอย่างแท็บเบราว์ซิงและการบล็อกป๊อปอัป → ต่อมาพัฒนาเป็น Firefox

[2003]

  • Apple เปิดตัว Safari และ WebKit

    • การเปิดตัว เบราว์เซอร์ Safari และเอนจิน WebKit ช่วยให้ Mac ลดการพึ่งพา Microsoft
    • ต่อมากลายเป็นรากฐานของ Mobile Safari บน iPhone

[2004]

  • Gmail และ AJAX

    • อินเทอร์เฟซของ Gmail ที่อิงกับ AJAX ได้เสนอเกณฑ์มาตรฐานใหม่ของ UX สำหรับเว็บแอป
    • แลกเปลี่ยนข้อมูลกับเซิร์ฟเวอร์ได้โดยไม่ต้องรีโหลดทั้งหน้า → การเปิดฉากของยุค Web 2.0

[2005]

  • การนิยามคำว่า AJAX อย่างชัดเจน

    • Jesse James Garrett ทำให้แนวคิด “AJAX” กลายเป็นคำที่นิยามอย่างชัดเจน
    • วางกรอบ โครงสร้างการสื่อสารกับเซิร์ฟเวอร์แบบอะซิงโครนัส ผ่านการผสาน JavaScript + XML
  • การเริ่มต้นของ Mozilla DevMo → พัฒนาเป็น MDN

    • จุดเริ่มต้นของ MDN ศูนย์กลางเอกสาร JavaScript ที่ยึดตามมาตรฐาน
    • มอบหลักอ้างอิงแบบรวมศูนย์สำหรับเอกสารการรองรับเบราว์เซอร์ที่เคยกระจัดกระจาย

[2006]

  • การปรากฏตัวของ jQuery

    • John Resig เริ่มโครงการ jQuery
    • มีส่วนสำคัญอย่างมากในการแก้ปัญหา cross-browser ในด้านการจัดการ DOM, event, AJAX ฯลฯ
    • แพร่หลายอย่างรวดเร็วด้วย API ที่กระชับ

[2007]

  • การเปิดตัว iPhone และการไม่รองรับ Flash

    • Apple เปิดตัว iPhone และ Safari ไม่รองรับ Flash
    • สิ่งนี้เร่งให้เกิดการเปลี่ยนผ่านไปสู่ คอนเทนต์ที่อิงกับ HTML+JavaScript ในสภาพแวดล้อมมือถือ

[2008]

  • การสิ้นสุดอย่างเป็นทางการของ Netscape Navigator

    • AOL ยุติการพัฒนา Netscape ถือเป็น การสิ้นสุดของสงครามเบราว์เซอร์ครั้งแรก
    • การผูกขาดของ IE โดย Microsoft นำไปสู่คดีต่อต้านการผูกขาดในเวลาต่อมา
  • การตีพิมพ์ JavaScript: The Good Parts

    • หนังสือของ Crockford เป็นจุดเปลี่ยนที่ทำให้ JavaScript ถูก ประเมินใหม่ในฐานะภาษาเพื่อการพัฒนาอย่างมืออาชีพ
  • Google Chrome และการเปิดตัวเอนจิน V8

    • พร้อมกับการเปิดตัว Chrome ก็มีการเผยแพร่ เอนจิน JavaScript V8
    • JIT compilation และ การปรับแต่ง garbage collection ช่วย ยกระดับประสิทธิภาพอย่างมาก
    • ต่อมากลายเป็น รากฐานของการขยายไปสู่ฝั่งเซิร์ฟเวอร์ เช่น Node.js

[2009]

  • การปรากฏตัวของ CommonJS

    • เป็นความพยายามสร้างมาตรฐานให้ โค้ด JS แบบโมดูลาร์ ใช้งานได้ในสภาพแวดล้อมนอกเบราว์เซอร์ เช่น เซิร์ฟเวอร์
    • ต่อมากลายเป็นรากฐานของโครงสร้างโมดูลใน ecosystem ของ Node.js
  • เริ่มต้นโครงการ Node.js

    • Ryan Dahl เริ่มพัฒนา Node.js
    • ทำให้ JavaScript สามารถรันในสภาพแวดล้อมเซิร์ฟเวอร์ ได้ และขยายไปสู่การเป็น ภาษาแบบฟูลสแตก
  • Oracle เข้าซื้อกิจการ Sun Microsystems

    • พร้อมกับ Java สิทธิ์เครื่องหมายการค้า JavaScript ก็ถูกโอนไปยัง Oracle
    • ทำให้เกิดประเด็นเรื่องเครื่องหมายการค้าของชื่อ JavaScript
  • การปรากฏตัวของ Express.js

    • คอมมิตแรกของ Express.js ซึ่งเป็น เว็บเฟรมเวิร์ก บน Node.js
    • เสนอโครงสร้างแบบมิดเดิลแวร์ที่เน้นการสร้าง REST API
  • ประกาศ ECMAScript 5

    • มี strict mode, รองรับ JSON, เพิ่มเมธอด Array ฯลฯ เป็นการ จัดระเบียบรากฐานของฟีเจอร์ JS สมัยใหม่
  • การปรากฏตัวของ CoffeeScript

    • เป็นการทดลองปรับปรุงไวยากรณ์ก่อนยุค ES6 เช่น ไวยากรณ์ที่กระชับ, arrow function, destructuring
    • ต่อมามีอิทธิพลทางอ้อมต่อการพัฒนาไวยากรณ์ของ JavaScript

[2010]

  • เปิดตัว npm 1.0

    • npm ตัวจัดการแพ็กเกจสำหรับ JavaScript เปิดตัวอย่างเป็นทางการ และเริ่ม ทำให้การแชร์และการนำโค้ดกลับมาใช้ซ้ำเป็นมาตรฐาน
    • ปัจจุบันเติบโตเป็นโอเพนซอร์สรีจิสทรีที่ใหญ่ที่สุดในโลก โดยมีแพ็กเกจมากกว่า 3 ล้านรายการ
  • เปิดตัว WebStorm 1.0

    • JetBrains เปิดตัว IDE สำหรับ JavaScript โดยเฉพาะเป็นครั้งแรก
    • ให้ความสามารถแบบรวมศูนย์ทั้ง static analysis, การตรวจจับข้อผิดพลาด, การเติมโค้ดอัตโนมัติ, การดีบัก
  • การมาถึงของ AngularJS & Backbone.js

    • จุดเริ่มต้นของกระแสเฟรมเวิร์ก SPA
    • Angular เน้น เชิงประกาศ/การฉีด dependency ส่วน Backbone เน้น เชิงกระบวนการ/ความเรียบง่าย
    • ตั้งแต่ช่วงนี้เริ่มเกิดปรากฏการณ์ การเกิดและหายไปของเฟรมเวิร์กอย่างถี่ ("Framework churn")

[2011]

  • การพอร์ต Node.js ไปยัง Windows

    • จากความร่วมมือระหว่าง Joyent และ Microsoft ทำให้ Node.js สามารถทำงานบน Windows ได้
    • พัฒนาไลบรารี libuv → มอบแพลตฟอร์มแบบรวมสำหรับ asynchronous I/O
    • ต่อมาเป็นจุดเริ่มต้นของแนวทางโอเพนซอร์สของ Microsoft ที่ต่อยอดไปสู่ TypeScript, VSCode และกลยุทธ์ Azure

[2012]

  • การมาถึงของ Webpack

    • ในฐานะเครื่องมือ bundling สำหรับเว็บแอสเซ็ต ได้ ขยายระบบโมดูลไปสู่ฝั่งไคลเอนต์
    • ต่อมาถูกนำไปใช้เป็นระบบ build หลักของ React, Angular, Vue เป็นต้น
  • เปิดตัว TypeScript 0.8

    • Microsoft เปิดตัว ซูเปอร์เซ็ตของ JavaScript ที่อิง static type
    • มอบโครงสร้างที่เหมาะกับโปรเจ็กต์ขนาดใหญ่ และต่อมาส่งอิทธิพลต่อมาตรฐาน ES

[2013]

  • Atom Shell ต้นแบบของ Electron เริ่มต้นขึ้น

    • ทำให้สามารถพัฒนาแอปเดสก์ท็อปด้วย HTML/CSS/JS ได้
    • เมื่อนำไปใช้ใน Slack, Visual Studio Code เป็นต้น ก็ได้เปลี่ยนแนวทางการพัฒนาเดสก์ท็อป
  • เปิดตัว asm.js

    • แปลงโค้ด C/C++ เป็น JS ทำให้สามารถประมวลผล สมรรถนะสูง ภายในเบราว์เซอร์ได้
    • ต่อมาพัฒนาไปเป็น WebAssembly
  • นิยามสแตก MEAN

    • ตั้งชื่อให้กับชุด MongoDB + Express + Angular + Node.js
    • ทำให้แนวทางการพัฒนาแบบฟูลสแตกบนพื้นฐาน JavaScript แพร่หลาย
  • เปิดตัว React

    • Facebook ใช้งานภายในก่อนแล้วจึงเปิดเป็นโอเพนซอร์ส
    • ทำให้แนวคิด การพัฒนา UI แบบคอมโพเนนต์ กลายเป็นมาตรฐาน
  • เริ่มพัฒนา ESLint

    • เครื่องมือ linting แบบ ขยายต่อได้ ที่เริ่มโดย Nicholas C. Zakas
    • ด้วยความสามารถในการปรับแต่งที่สูงกว่า linter เดิม ๆ จึงแพร่หลายอย่างรวดเร็ว
  • เปิดตัว Gulp

    • ต่างจาก Grunt ที่เน้นการตั้งค่า โดยเป็น เครื่องมือ build แบบสตรีมมิงที่อิงโค้ด
    • ก่อให้เกิดกระแสการทำงาน build อัตโนมัติด้วย JavaScript

[2014]

  • เปิดตัว Vue.js

    • เฟรมเวิร์ก UI แบบค่อยเป็นค่อยไป ที่ประกาศโดย Evan You
    • เป็นการประนีประนอมระหว่าง UI แบบเชิงประกาศของ React และความสามารถด้านเทมเพลตของ Angular
  • การเข้าซื้อ Express.js

    • StrongLoop เข้าซื้อ Express.js → ต่อมาถูก IBM เข้าซื้ออีกทอดหนึ่ง
    • ความกังวลเรื่องความเป็นอิสระของชุมชนทำให้เกิด เฟรมเวิร์กถัดมาอย่าง Koa
  • เริ่มต้น Babel.js (เดิมชื่อ 6to5)

    • ทำให้ ไวยากรณ์ JS สมัยใหม่สามารถรันบนเบราว์เซอร์รุ่นเก่าได้
    • กลายเป็น transpiler มาตรฐานของทุกเฟรมเวิร์ก
  • เปิดตัว Meteor 1.0

    • ได้รับความสนใจในฐานะเครื่องมือพัฒนาเว็บแอปแบบเรียลไทม์และสแตกเดียว
    • ต่อมาส่งอิทธิพลต่อเทคโนโลยีเรียลไทม์อย่าง GraphQL และ Firebase
  • Facebook เปิดตัว Flow

    • เครื่องมือตรวจสอบ static type เพื่อจับข้อผิดพลาดของ JS ล่วงหน้า
    • ต่อมาอัตราการใช้งานลดลงจากการเติบโตของ TypeScript
  • ประกาศ AWS Lambda

    • นำ serverless computing บนพื้นฐาน JavaScript(Node.js) มาใช้
    • ทำให้สามารถสร้างแบ็กเอนด์ได้โดยไม่ต้องจัดการอินฟราสตรักเจอร์ ผ่าน การรันฟังก์ชันตามอีเวนต์
  • การแตกแขนง io.js

    • ชุมชนแยก io.js ออกมาเพื่อตอบโต้การออกรุ่น Node.js ที่ล่าช้าของ Joyent
    • ต่อมาถูกรวมกลับเข้า Node.js อีกครั้งในปี 2015

[2015]

  • การเกิดขึ้นของคำว่า Jamstack

    • เน้นชุดผสม JavaScript + API + Markup
    • เมื่อแนวทาง SSR และ SSG ได้รับความนิยม static site generator ก็เริ่มโดดเด่นขึ้น
  • การก่อตั้ง Node.js Foundation

    • ปรับโครงสร้าง governance ของชุมชน รวมถึงการรวมกับ io.js
    • มีบริษัทหลักอย่าง IBM และ Microsoft เข้าร่วม
  • เปิดตัว GraphQL

    • ภาษา query สำหรับ API ที่พัฒนาโดย Facebook
    • มีจุดเด่นที่แนวทางเชิงประกาศ การออกแบบแบบ strongly typed และการลดคำขอไปยังเซิร์ฟเวอร์
  • เปิดตัว Redux

    • state container ที่คาดการณ์ได้ สำหรับการจัดการ state ของ React
    • ต่อมาถูกนำไปใช้ใน Vue, Angular เป็นต้น
  • ประกาศ WebAssembly

    • ทำให้ รันโค้ดสมรรถนะสูงอย่าง C/C++ ในเบราว์เซอร์ได้
    • เข้ามาเป็นรุ่นถัดจาก asm.js และกลายเป็นสภาพแวดล้อมรันงานอเนกประสงค์ของเว็บ
  • เปิดตัว Atom 1.0

    • text editor ที่ดัดแปลงได้สำหรับแฮ็กเกอร์ซึ่งสร้างโดย GitHub และใช้ Electron
    • มีอิทธิพลโดยตรงต่อ VSCode
  • ประกาศ ECMAScript 6 (ES2015) อย่างเป็นทางการ

    • มี การปรับปรุงไวยากรณ์ครั้งใหญ่ เช่น import/export, let/const, Promise, fetch
    • เป็นเวอร์ชันที่กลายมาเป็นพื้นฐานของ JavaScript ยุคใหม่
  • การรวม Node.js และ io.js

    • การเปิดตัว Node.js v4.0 ทำให้ทั้งสองโปรเจ็กต์กลับมารวมเป็นหนึ่ง
    • วางรากฐานนโยบาย LTS และนโยบายเวอร์ชันที่มีความหมาย

[2016]

  • Microsoft โอเพนซอร์สเอนจิน Chakra

    • โอเพนซอร์ส Chakra ซึ่งเป็นเอนจิน JS ของเบราว์เซอร์ Edge
    • ได้รับความสนใจจากชุมชนนักพัฒนา แต่ภายหลังยุติลงเพราะเสียเปรียบ V8
  • เกิดเหตุการณ์ Leftpad

    • การลบโมดูล left-pad ทำให้เกิด วิกฤตการพังทลายของการพึ่งพาแพ็กเกจ ในวงกว้าง
    • กลายเป็นจุดเปลี่ยนนโยบายของ npm
  • เปิดตัว VSCode 1.0

    • IDE น้ำหนักเบา ที่สร้างบน Electron และ TypeScript
    • ได้รับความนิยมอย่างรวดเร็วจากความเร็วสูง การขยายต่อได้ และการรองรับ JS/TS ที่ยอดเยี่ยม
  • ประกาศ ECMAScript 2016

    • อัปเดตขนาดเล็ก เช่น ตัวดำเนินการ ** และ array.includes()
  • ประกาศ Angular2

    • สถาปัตยกรรมคอมโพเนนต์บนพื้นฐาน TypeScript ที่แตกต่างจาก AngularJS โดยสิ้นเชิง
    • ด้วย AOT compilation และการเสริมความปลอดภัย ทำให้กลายเป็นตัวเลือกสำหรับองค์กร
  • เปิดตัว Next.js 1.0

    • เฟรมเวิร์ก server-side rendering บนพื้นฐาน React
    • ผลักดันการทำให้ การพัฒนา React แบบฟูลสแตกเป็นมาตรฐาน โดยคำนึงถึง SEO และประสิทธิภาพ

[2017]

  • คอมมิตแรกเริ่มของข้อเสนอ Temporal

    • ข้อเสนอ Temporal API เพื่อแก้ปัญหาของออบเจ็กต์ Date
    • ได้รับอนุมัติให้รวมในมาตรฐาน ECMAScript ในปี 2021 และปัจจุบันยังรองรับเพียงบางสภาพแวดล้อม
  • เปิดตัว Prettier 1.0

    • formatter ที่ บังคับใช้รูปแบบโค้ดที่สม่ำเสมอโดยอัตโนมัติ
    • ยังส่งอิทธิพลต่อการเกิดขึ้นของ Black ของ Python และ formatter ของ Rust
  • เปิดตัว ECMAScript 2017

    • นำฟีเจอร์ JS ยุคใหม่อย่าง async/await, Object.entries(), Object.values() มาใช้
    • ทำให้การใช้ fetch() กลายเป็นเรื่องทั่วไป
  • เปิดตัว Yarn

    • package manager เพื่อแก้ปัญหาความช้าและความขัดแย้งของ npm
    • นำฟีเจอร์ใหม่อย่าง yarn.lock, การติดตั้งแบบขนาน และแคชเข้ามา
  • เปิดตัว Cloudflare Workers

    • การเปิดฉากของยุค edge computing
    • ทำให้ โค้ด serverless สามารถรันแบบกระจายทั่วโลก ได้

[2018]

  • เปิดตัว Puppeteer 1.0

    • เครื่องมืออัตโนมัติเบราว์เซอร์บนพื้นฐาน headless Chrome
    • มอบความกระชับกะทัดรัดเมื่อเทียบกับ Selenium ด้วย API ที่เป็นมิตรกับ Node.js
  • เปิดตัว TensorFlow.js

    • ทำให้สามารถรันแมชชีนเลิร์นนิงในเบราว์เซอร์ได้
    • สร้างแอป AI แบบเรียลไทม์บนพื้นฐาน WebGL/WebGPU
  • Smooshgate

    • เนื่องจากการชนกันของชื่อ Array.flatten จึงถูกเปลี่ยนเป็น flat()
    • มีที่มาจากปัญหาความเข้ากันได้กับ MooTools
  • Ryan Dahl ประกาศ Deno

    • เปิดตัว รันไทม์ Deno ระยะแรก พร้อมการทบทวนปัญหาของ Node
  • เปิดตัว ECMAScript 2018

    • เพิ่ม promise.finally(), async iteration, object rest/spread

[2019]

  • การก่อตั้ง OpenJS Foundation

    • รวม Node.js Foundation และ JavaScript Foundation
    • รวม governance ของโปรเจ็กต์ฝั่งเซิร์ฟเวอร์/ไคลเอนต์
  • Node.js v12: เริ่มรองรับ ESM แบบทดลอง

    • เริ่มนำการทดลองใช้ ES module ผ่าน .mjs, type: module เป็นต้น
  • เปิดตัว ECMAScript 2019

    • เพิ่ม Object.fromEntries(), String.prototype.trimStart() เป็นต้น
  • Node.js v13.2: ESM เสถียรอย่างเป็นทางการ

[2020]

  • SpaceX Dragon พา JS สู่อวกาศ

    • ใช้ JavaScript ในอินเทอร์เฟซหน้าจอสัมผัสที่อิง Chromium
  • เปิดตัว Deno 1.0

    • แนวทางที่พลิกใหม่อย่าง รองรับ TypeScript โดยค่าเริ่มต้น, โมเดลสิทธิ์อนุญาต, HTTP import เป็นต้น
  • Adobe Flash ยุติการให้บริการอย่างเป็นทางการ

    • การลงหลักปักฐานของสภาพแวดล้อมเว็บมัลติมีเดียที่มี JS เป็นศูนย์กลาง

[2022]

  • Deno เข้าร่วม TC39

    • ประกาศ มีส่วนร่วมในการกำหนดมาตรฐาน JavaScript
  • ยุติการรองรับ IE11

    • ปิดฉากการเปลี่ยนผ่านสู่ระบบนิเวศเว็บที่อิงมาตรฐาน
  • ประกาศ ECMAScript 2022

    • เพิ่ม top-level await, static block ของคลาส เป็นต้น

[2023]

  • เปิดตัว Bun 1.0

    • รันไทม์ทางเลือกแทน Node.js ความเร็วสูงมากที่พัฒนาด้วย Zig
    • รองรับ npm และรวมเครื่องมือ build มาในตัว

[2024]

  • Node.js เลือกมาสคอต Rocket Turtle

    • ยืนยันตัวละครสุดท้ายผ่านการประกวดของชุมชน
  • เปิดตัว ECMAScript 2024

    • เสริมความสามารถการจัดการ Unicode เช่น toWellFormed()
  • เปิดตัวรีจิสทรี JSR

    • รีจิสทรีสำหรับโมดูล ECMAScript สมัยใหม่โดยเฉพาะ จากทีม Deno
    • ใช้งานร่วมกับ TypeScript, Deno, Bun และ Cloudflare Workers ได้
  • เริ่มต้นขบวนการ FreeJavaScript

    • แคมเปญเรียกร้องให้ Oracle คืนเครื่องหมายการค้า JavaScript
    • บุคคลสำคัญอย่าง Brendan Eich ร่วมลงนาม
  • เปิดตัว Deno 2

    • ปรับปรุงความเข้ากันได้กับ Node และถึงขั้นทำโฆษณา ทำให้ สงครามรันไทม์เริ่มเดือดอย่างจริงจัง

[2025]

  • ประกาศพอร์ต TypeScript ไปยัง Go

    • กำลังดำเนินโครงการ tsgo โดยตั้งเป้า ประสิทธิภาพเร็วขึ้นมากกว่า 10 เท่า
    • มีแผนจะนำมาใช้เป็นทางการตั้งแต่ TypeScript 7.0
  • ประกาศโอเพนซอร์ส Copilot Chat

    • Microsoft ประกาศกลยุทธ์เปลี่ยน VSCode ให้เป็น AI development IDE แบบโอเพนซอร์ส

[สรุป]

  • JavaScript เริ่มต้นจากการเป็นภาษา scripting แบบเรียบง่าย และได้พัฒนาจนเป็น ภาษาสำหรับการพัฒนาทั่วไป ที่ครอบคลุมตั้งแต่ เว็บฟรอนต์เอนด์·แบ็กเอนด์·แมชชีนเลิร์นนิง·อวกาศยาน·AI development IDE
  • ชุมชนโอเพนซอร์ส การพัฒนาไวยากรณ์อย่างต่อเนื่อง และนวัตกรรมด้านรันไทม์คือแรงขับเคลื่อนการเติบโตนี้ และต่อจากนี้ก็มีแนวโน้มจะ ขยายจากเว็บไปสู่ขอบเขตที่กว้างขึ้น พร้อมเครื่องมือที่เร็วกว่าและฉลาดกว่าเดิม

10 ความคิดเห็น

 
princox 2025-12-17

ตอนนี้มันกลายเป็นมาตรฐานของตัวการนำไปใช้จริงมากกว่าจะเป็นภาษาไปแล้ว... ไม่ว่าจะชอบหรือไม่ก็ตาม ผมว่ามันคงกลายเป็นไวยากรณ์ที่ต้องแบกรับมรดกเก่าต่อไปแล้วล่ะ

 
dkang 2025-05-31

ขอบคุณสำหรับข้อมูลดี ๆ ครับ

 
dontdieych 2025-05-31

IE 3 แทบจะห่วยมาก และตอนนั้น Navigator 3 แทบจะเป็นมาตรฐานอยู่แล้ว แต่พอ IE 4 ออกมา สถานการณ์ก็พลิกกลับเลย ยิ่งไปกว่านั้น IE 4 ยังติดตั้งมากับ Windows เป็นค่าเริ่มต้นด้วย

แม้ว่า Navigator 4 จะออกมาแล้ว แต่ก็ดีไม่พอที่จะพลิกสถานการณ์ได้ ดังนั้นส่วนแบ่งตลาดของ IE ก็ยังเพิ่มขึ้นต่อไป

พอ Navigator เปลี่ยนไปเป็นโอเพนซอร์ส ก็เกิดโครงการ Mozilla ขึ้นมา และเมื่อ Phoenix เวอร์ชันเบตาออกมา ตอนนั้นผู้ใช้น่าจะเริ่มรู้สึกได้เลยว่ามีอะไรเปลี่ยนไปมาก รวมถึงผมด้วย เพราะปัญหาเรื่องเครื่องหมายการค้า จึงเปลี่ยนชื่อเป็น Firefox และนับจากตอนนั้น Firefox ก็เริ่มกลายเป็นคู่แข่งตัวจริงของ IE

น่าจะเปลี่ยนชื่อจาก Phoenix -> Firebird -> Firefox แบบนี้ น่าจะเป็นเพราะมีฐานข้อมูลชื่อ Firebird อยู่ก่อนแล้ว

 
aer0700 2025-05-30

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

 
tsboard 2025-05-29

ต้นฉบับเรียบเรียงไว้ดีมากเลยนะครับ มีทั้งภาพหน้าจอและโค้ดชวนคิดถึงด้วย...! หวังว่า Deno จะไปได้ดียิ่งขึ้นนะครับ 555

 
tested 2025-05-29

ดูเหมือนว่าพัฒนาการของ JavaScript จะแบ่งได้เป็นช่วงก่อนและหลังการเปิดตัวของ Node.js

 
bobross0 2025-05-29

เห็นด้วยครับ

 
dlehals2 2025-05-29

พร้อมกับ Java เครื่องหมายการค้า JavaScript ก็ถูกโอนไปยัง Oracle ด้วย เพิ่งรู้ส่วนนี้เป็นครั้งแรกเหมือนกัน

 
spp00 2025-05-30

เดิมทีเครื่องหมายการค้า JS เป็นของ Sun แต่พอ Sun ถูกซื้อกิจการไป เครื่องหมายการค้า JS (รวมถึง MySQL เป็นต้น) ก็ถูกโอนไปยัง Oracle ด้วย

 
xguru 2025-05-29

ต้นฉบับมีทั้งภาพและโค้ดหลากหลายส่วน แนะนำให้เปิดดูควบคู่กันไปด้วย