JavaScript
Fundamentals
What is JavaScript
เรียนรู้ความเป็นมาของ JavaScript ตั้งแต่ปี 1995 จนถึงปัจจุบัน ทำความเข้าใจข้อดีและเหตุผลที่ควรศึกษา พร้อมฝึกสั่งงานพื้นฐานผ่าน console.log()
1. ความเป็นมาของ JavaScript
JavaScript ถูกสร้างขึ้นในปี 1995 โดย Brendan Eich วิศวกรของบริษัท Netscape ในเวลาเพียง 10 วัน งานชิ้นนี้เกิดขึ้นเพราะในยุคนั้นหน้าเว็บเป็นเพียงเอกสาร HTML ที่อ่านได้อย่างเดียว ไม่มีการโต้ตอบใด ๆ Netscape ต้องการให้ผู้ใช้คลิกแล้วเกิดการเปลี่ยนแปลงได้ทันทีโดยไม่ต้องโหลดหน้าใหม่ ชื่อเดิมของภาษาคือ Mocha แล้วเปลี่ยนเป็น LiveScript ก่อนจะได้ชื่อ JavaScript ในที่สุด เหตุผลส่วนหนึ่งมาจากกลยุทธ์การตลาด เพราะ Java กำลังเป็นที่นิยมในช่วงนั้น แม้ JavaScript และ Java จะเป็นภาษาที่แตกต่างกันโดยสิ้นเชิง หลังจากนั้น JavaScript ถูกนำไปมาตรฐานภายใต้ชื่อ ECMAScript (ES) โดยองค์กร ECMA International ทำให้ browser ทุกค่ายใช้งานร่วมกันได้ ในปี 2009 Node.js ถูกสร้างขึ้นโดย Ryan Dahl ทำให้ JavaScript รันได้บนเซิร์ฟเวอร์ ไม่ใช่แค่ใน browser อีกต่อไป วันนี้ JavaScript คือภาษาที่ถูกใช้งานมากที่สุดภาษาหนึ่งในโลก ปรากฏใน web app, mobile app, server-side, เครื่องมือ CLI และอื่น ๆ อีกมาก
2. JavaScript คืออะไร
JavaScript คือภาษาโปรแกรม (programming language) ที่ใช้เขียนคำสั่งและตรรกะให้คอมพิวเตอร์ทำงานตามที่ต้องการ ถ้าเปรียบเว็บไซต์กับบ้าน: - HTML คือโครงสร้างและห้องต่าง ๆ - CSS คือสีทา วอลเปเปอร์ และการตกแต่ง - JavaScript คือระบบไฟฟ้า ประตูอัตโนมัติ และทุกอย่างที่ "ทำงาน" ได้ JavaScript ทำงานได้สองสภาพแวดล้อมหลัก: - ใน browser — เพื่อควบคุมหน้าเว็บ ตอบสนองต่อผู้ใช้ - ใน Node.js — เพื่อรันบนเซิร์ฟเวอร์ สร้าง API หรือเครื่องมือต่าง ๆ สภาพแวดล้อมที่รันโค้ด JavaScript เรียกว่า runtime และ runtime คือตัวที่อ่านคำสั่งของเราแล้วทำตาม
JavaScript คือโค้ดที่เราเขียน ส่วน browser หรือ Node.js คือ runtime ที่อ่านและรันโค้ดนั้น
3. ข้อดีของ JavaScript
JavaScript ไม่ได้เป็นที่นิยมเพราะเป็นภาษาแรกที่มีใน browser เท่านั้น แต่เพราะมีข้อดีที่ทำให้นักพัฒนาเลือกใช้งานในโปรเจกต์จริงทั่วโลก
- ใช้งานได้ทั้ง frontend และ backend — เรียนภาษาเดียว เขียนได้ทั้งสองฝั่ง ลดเวลาการเปลี่ยน context
- รันได้ทันทีใน browser — ไม่ต้องติดตั้งอะไรเพิ่ม ทุกคนที่มี browser ก็ทดสอบโค้ดได้เลย
- Ecosystem ขนาดใหญ่ — npm มี package มากกว่า 2 ล้านรายการ แก้ปัญหาเกือบทุกอย่างได้โดยไม่ต้องสร้างเอง
- Community ใหญ่มาก — หาคำตอบ, tutorial, และตัวอย่างโค้ดได้ง่ายในทุกภาษา
- Dynamic typing — เริ่มต้นเขียนได้เร็ว ไม่ต้องประกาศชนิดข้อมูลทุกครั้ง (TypeScript เสริมความปลอดภัยในภายหลังได้)
- Event-driven และ asynchronous — จัดการงานหลายอย่างพร้อมกันได้โดยไม่บล็อกการทำงานหลัก
| ข้อดี | ความหมายในทางปฏิบัติ |
|---|---|
| รันได้ใน browser ทันที | เปิด DevTools แล้วทดลองโค้ดได้เลย ไม่ต้องติดตั้งอะไร |
| ใช้ได้ทั้ง frontend และ backend | ทีมเดียวเขียนได้ทั้งหน้าบ้านและหลังบ้านด้วยภาษาเดียว |
| Ecosystem กว้าง (npm) | React, Next.js, Express, NestJS, Vite — ล้วนอยู่ใน ecosystem เดียวกัน |
| Community ใหญ่ | Stack Overflow, GitHub, YouTube — มีทรัพยากรมากกว่าภาษาอื่น ๆ |
| TypeScript เสริมได้ | เริ่มจาก JavaScript แล้วเพิ่ม TypeScript เมื่อโปรเจกต์โตขึ้น |
4. ทำไมถึงควรศึกษา JavaScript
ไม่ว่าจะต้องการเป็น frontend developer, backend developer, full-stack developer หรือแม้แต่ data engineer หรือ DevOps ที่เขียนเครื่องมืออัตโนมัติ JavaScript คือหนึ่งในภาษาที่เปิดประตูได้กว้างที่สุด JavaScript ติด 3 อันดับแรกของภาษาที่ developer ใช้งานมากที่สุดทั่วโลกในผลสำรวจ Stack Overflow Developer Survey ติดต่อกันกว่า 10 ปี และเป็นภาษาที่นายจ้างในอุตสาหกรรม tech มองหาบ่อยที่สุด
- เป็นภาษาเดียวที่รันใน browser โดยไม่ต้องคอมไพล์ — ทำให้ web development ต้องการ JavaScript เสมอ
- เป็นรากฐานของ framework ยอดนิยม เช่น React, Vue, Angular, Next.js ที่ใช้กันทั่วโลก — เรียน JS แล้วต่อยอดได้เลย
- ใช้ได้กับ mobile development (React Native, Ionic) และ desktop app (Electron)
- Node.js ทำให้ JavaScript อยู่ใน backend ได้ รวมถึงเขียน CLI tools, automation scripts, และ serverless functions
- ชุมชน open source ของ JavaScript ใหญ่มาก — มีตัวอย่างโค้ด, library, และ framework ให้เรียนรู้อย่างต่อเนื่อง
- TypeScript ซึ่งเป็น superset ของ JavaScript ช่วยให้เขียนโค้ดขนาดใหญ่ได้ปลอดภัยและดูแลง่ายขึ้น
5. เริ่มใช้ JavaScript อย่างไร
วิธีที่ง่ายที่สุดในการเริ่มต้น JavaScript คือเขียนคำสั่งและดูผลลัพธ์ใน console ทันที คำสั่งแรกที่นักพัฒนาทุกคนเรียนรู้คือ `console.log()` ซึ่งมีหน้าที่เดียวคือแสดงข้อความหรือค่าออกมาใน console เพื่อให้เราเห็นว่าโค้ดทำงานอย่างไร console คือพื้นที่สำหรับดูผลลัพธ์และ debug โค้ด ไม่ใช่หน้าจอสุดท้ายของผู้ใช้ แต่สำหรับการเรียนรู้ในช่วงแรก console คือเครื่องมือที่สำคัญที่สุด
- เขียนคำสั่ง JavaScript เช่น `console.log("สวัสดี JavaScript")`
- runtime (browser หรือ Node.js) อ่านคำสั่งนั้น
- โปรแกรมทำงานตามคำสั่ง
- ข้อความถูกแสดงใน console ให้เราเห็นทันที
แต่ละบรรทัดคือคำสั่งแยกกัน runtime จะอ่านและรันจากบนลงล่างตามลำดับ
console.log("สวัสดี JavaScript");
console.log("JavaScript คือภาษาโปรแกรม");
console.log("browser รัน JavaScript ได้");
console.log("console ใช้ดูผลลัพธ์ของโค้ด");6. สรุป
- JavaScript ถูกสร้างในปี 1995 โดย Brendan Eich เพื่อทำให้หน้าเว็บโต้ตอบได้ ปัจจุบันใช้งานได้หลากหลายนอกเหนือจาก browser
- JavaScript คือภาษาโปรแกรมที่ใช้เขียนคำสั่งและตรรกะ ไม่ใช่ภาษาสำหรับออกแบบหน้าตา
- JavaScript รันได้ทั้งใน browser และ Node.js โดยมี runtime เป็นตัวอ่านและรันโค้ด
- ข้อดีหลักของ JavaScript ได้แก่ ใช้ได้ทั้ง frontend และ backend, ecosystem ขนาดใหญ่, และ community ที่แข็งแกร่ง
- JavaScript คือรากฐานของ framework ยอดนิยมทั้ง React, Next.js, Node.js และอื่น ๆ — เรียนครั้งเดียว ต่อยอดได้กว้าง
- คำสั่ง `console.log()` ใช้แสดงผลลัพธ์ใน console เป็นเครื่องมือพื้นฐานสำหรับการเริ่มต้นและ debug โค้ด