สอนทำเว็บไซต์ด้วย Node.js, Express และ MongoDB ตอนที่ 2 - ทบทวนพื้นฐาน JavaScript
มาต่อกันที่ ตอนที่ 2 กันครับ สำหรับตอนนี้จะเป็นพื้นฐาน Node.js ก็เลยขอทบทวนพื้นฐาน JavaScript แบบเร็วๆนิดนึง รวมถึง Modern JavaScript ES6, ES7+ โดยจะไม่ได้อธิบายลงลึกรายละเอียดมากนะครับ เพราะติต่างว่าควรจะพอเขียน JavaScript มาได้บ้าง บทความนี้แค่ทบทวน และก็ตัวอย่าง ของ JS ที่นิยมเขียนในปัจจุบัน จะได้เป็นในแนวทางเดียวกันครับ
ซึ่งจริงๆ ผมเคยเขียนไว้ที่ Medium เมื่อเกือบ 4ปีละ ตอนนั้นเราอาจจะต้องหา Transpile มาช่วย แต่ตอนนี้ Nodejs เวอร์ชั่นใหม่ๆ เรียกได้ว่า เขียนได้หมดแล้ว โดยไม่ต้องติดตั้งอะไรเพิ่ม
เนื้อหาบทเรียน
- ตอนที่ 1 - NodeJS คืออะไร + ทำการติดตั้ง Node.js และ Node.js เบื้องต้น
- ตอนที่ 2 - ทบทวนพื้นฐาน JavaScript และ Modern JavaScript ES6, ES7+ (บทความนี้)
- ตอนที่ 3 - ว่าด้วยพื้นฐาน Node.js / Callback / Sync และ Async
- ตอนที่ 4 - เริ่มต้นทำเว็บด้วย Node.js และ Express.js
- ตอนที่ 5 - ลองหัดใช้ Template Engine ชื่อ Pug
- ตอนที่ 6 - เริ่มต้นกับ MongoDB
- ตอนที่ 7 - ทำ Backend API ด้วย Node.js และ MongoDB กันดีกว่า
- ตอนที่ 8 - Express Generator / Middleware
- ตอนที่ 9 - ทำระบบ Login ด้วย Passport.js
- ตอนที่ 10 - การ Hosting และ Deploy Production
มาเริ่มทวน JavaScript ฉบับรวดเร็วกันเลยครับ สามารถทำตามบทความได้โดยการเปิด Terminal แล้วพิมพ์
แล้ว Enter ได้เลยครับ จะได้หน้าตาแบบนี้ (version แตกต่างกันแล้วแต่เครื่องเรา)
JavaScript บวก ลบ คูณ หาร ได้ปกติเลย
แต่ถ้านี้ละ?
คอมเม้นโค๊ดของ JavaScript มีสองแบบ
Modern JavaScript แบบเร็วๆ
ต่อมาพวก ES6 กันบ้างครับ สังเกตว่าตัวอย่างด้านบนผมใช้ แต่ var
ซึ่งเป็นแบบเก่า แนะนำว่าให้อ่านด้านล่างครับ ใช้แบบ Modern กันดีกว่า และเลือกมาแต่เฉพาะที่ใช้บ่อยๆ ใน Node.js ละกันเนอะ
เริ่มที่ตัวแปร ใช้ const กับ let
ตัวแปรใน JavaScript เมื่อก่อนมีแค่ var
ตอนนี้ เราควรใช้ const
กับ let
แทนนะครับ เพราะว่ามันสามารถหลีกเลี่ยงปัญหาพวก scope ได้ครับ และใช้ const
สำหรับตัวแปรที่ไม่สามารถเปลี่ยนค่าได้ และ let
กับตัวแปรที่เราเปลี่ยนค่ามันได้
let
สามารถสรา้งตัวแปรโดยไม่กำหนดค่าได้const
ต้อง assign ค่าให้มันในขณะที่สร้างตัวแปร- ทั้ง
let
และconst
ไม่สามารถ new ตัวแปร ชื่อเดิมได้ const
แบบ object มันคือการ reference ฉะนั้น key value ใน object ก็สามารถเปลี่ยนค่าได้ (ดูเรื่องconst
ของ ตัวแปร และ object เพิ่มเติม)
Arrow function
เป็น short-hand สำหรับการประกาศฟังค์ชั่นครับ เขียนได้แบบนี้
String
เราสามารถต่อ String ง่ายๆ ด้วย “ ร่วมกับ ${VAR}
เช่น
Destructuring
อันนี้ผมถือว่าค่อนข้างให้ความสำคัญและมีประโยชน์ค่อนข้างมากครับ
Object Property
กรณีที่ต้องการ สร้าง object ใหม่ โดยมีข้อมูลแบบนี้
ปกติ เรา จะกำหนด object ใหม่ โดยใช้ key จาก user แบบนี้
ในเมื่อ key เราเหมือนกัน เรายุบมันได้เลย เป็นแบบนี้ซะ
Map, Filter แบบเร็วๆ
จริงๆแล้ว Topic เรื่องนี้ยอดฮิตมากๆ Map, Reduce, Filter อะครับ และผมว่าเดี๋ยวผมจะพยายามเขียนละเอียด หรือลง detail พร้อม example อีกทีครับ แต่สำหรับบทความนี้ขอคร่าวๆละกันเนอะ
ก็สำหรับบทความนี้ ผมอยากให้เป็นพื้นฐาน หรือทบทวนครับ แต่สำหรับคนที่โอเคแล้ว สามารถข้ามไปได้เลยครับ เพราะไม่ได้ลงรายละเอียดอะไรมากครับ
อ่านต่อ ตอนที่ 3 - ว่าด้วยพื้นฐาน Node.js / Callback / Sync และ Async ได้เลยครับ
สุดท้ายใครมีปัญหา ติดปัญหาตรงไหน สามารถสอบถามเพิ่มเติมได้ตลอดครับ
❤️ Happy Coding
- Authors
-
Chai Phonbopit
เป็น Web Dev ในบริษัทแห่งหนึ่ง ทำงานมา 10 ปีกว่าๆ ด้วยภาษาและเทคโนโลยี เช่น JavaScript, Node.js, React, Vue และปัจจุบันกำลังสนใจในเรื่องของ Blockchain และ Crypto กำลังหัดเรียนภาษา Rust