?>

[:th]NodeJS ตอนที่ 3 [JavaScript Basic และการเขียนโมดูล][:]

0

[:th]NodeJS เป็นเทคโนโลยีที่เรารู้กันว่าเป็น JavaScript ฝั่งเซิร์เวอร์ ดังนั้นก็ต้องมีพื้นฐานภาษา JavaScript จึงจะช่วยให้ทำความเข้าใจในการเขียนโค้ดบน NodeJS ได้ง่ายขึ้น ในบทความนี้จะสรุปเพียงสั้นๆที่พอให้ไปต่อได้เท่านั้น

JavaScript Value Type

ภาษา JavaScript มีการเก็บค่าอยู่ 3 แบบด้วยกัน คือ

  • boolean ค่าตรรกะ true , false
  • numeric ค่าตัวเลข Number.MIN_VALUE 5e-324 – Number.MAX_VALUE 1.7976931348623157e+308
  • string “hello” , ‘hello’

Reference Type

การเก็บค่าแบบ Reference Type เก็บในรูปแบบยอดฮิตอย่าง JSON (JavaScript Object Notation)

 

การประกาศตัวแปร

ใช้คำว่า var ขึ้นต้น ตามด้วยชื่อตัวแปรตามกฎการตั้งชื่อของภาษาทั่วๆไป

  • หากเราประกาศตัวแปรขึ้นมาเลยไม่มี var จะกลายเป็น Global variable เช่น d =”Hello JavaScript”;
  • ความน่ากล้วของ JavaScript คือความยืดหยุ่นสูง ไม่เป็นภาษาแบบ typesafe คือวันดีคืนดีเราประกาศตัวแปรเป็นตัวเลขไว้ เช่น var a = 1; อยู่ดีๆเปลี่ยนเป็น a = “Hello” ก็ไม่ผิดแต่อย่างใด แต่โปรแกรมที่เราเขียนไว้ผิดได้แน่นอน ถ้าเราเอา a ไปบวกตัวเลขต่อ เป็นปัญหาที่คนเขียน JavaScript เจอบ่อยๆและต้องระวังอย่างมาก

การประกาศฟังก์ชั่น

มีรูปแบบตามโค้ดด้านล่าง

การเก็บค่าแบบอาร์เรย์

เงื่อนไข if else 

switch

for ลูป

เราสามารถนำโค้ด JavaScript มาทดสอบใน Browser ได้เลย เช่น ใน Google Chrome หรือ Firefox ให้เข้าหน้า Console

jschorme

อยากศึกษา JavaScript เพิ่มเติมมีแหล่งศึกษาดีๆมากมาย เช่น http://www.w3schools.com/jsref/default.asp

มาเขียนโค้ดใน NodeJS กันดีกว่า

Module โมดูล คือ

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

  1. สร้างไฟล์ชื่อ aggregation.js
  2. ป้อนโค้ด ดังนี้

3. สร้างไฟล์ชื่อ ch3_module.js

4. ป้อนโค้ด ดังนี้

5. เปิดโปรแกรม Terminal หรือ Command Line ใน Window เข้าไปที่ path ของไฟล์ ch3_module.js พิมพ์

อธิบายโค้ด

  • exports เป็นออบเจคที่ใช้ประกาศเป็น module ให้เรียกใช้งานได้
  • exports.sum = function() ประกาศฟังก์ชั่นสำหรับใช้บวกค่า
  • JavaScript มือใหม่อาจจะงงถ้าเขียนภาษาอื่นมา ก็ sum = function() ในวงเล็บไม่เห็นระบุตัวแปรอะไรมาแล้วจะเอาอะไรมาบวกกันได้ ใน arguments จะเป็นการเก็บค่าตัวแปรต่างๆไว้ ซึ่งภาษา JavaScript มันยืดหยุ่นมากให้เราป้อนค่าอะไรมาก็ได้ ดังนั้นถ้าค่าที่เราป้อนมาไม่ใช่ตัวเลขทั้งหมด ฟังก์ชั่นนี้ก็ทำงานผิดวัตถุประสงค์แน่ๆ
  • ที่ไฟล์ ch3_module.js เราอ้างถึงฟังก์ชั่นที่เขียนไว้แล้วใน aggregation.js โดยใช้คำสั่ง

    ก็จะได้ฟังก์ชั่น sum กับ avg ในโค้ด aggregation.js มา ในการใช้ require ไฟล์ที่อ้างถึงไม่ต้องใช้ .js nodejs จะเติมให้เอง การอ้างพาธใน nodejs นั้น ในการใช้งานจริง ./ ,../, ../../  ควรอ้างแบบไหนบ้างนั้นเป็นเรื่องที่หน้าปวดหัวมาก ในการเขียนแอพใช้งานจริง ผมใช้ไลบรารี่ชื่อ rootpath อ้างแบบเดียวไปเลย  และเป็นการสร้างมาตรฐานที่ดีให้กับทีมด้วยหากต้องพัฒนาหลายๆคน ใครใจร้อนขี้เกียจรอบทความก็ไปลองใช้ดูได้ https://www.npmjs.com/package/rootpath

พบกับตอนหน้า Express Web Framework[:]

Share.

About Author

Leave A Reply

− 3 = 7