javascript จิ๊บจ๊อย #3

สวัสดีอีกวันครับพี่น้องครับ ผ่านไปแล้วกับสองตอนนะครับ ไม่รู้ว่าจะเข้าใจหรือตามทันกันมากน้อยแค่ไหน ก็ถ้าไม่ทันตรงไหนก็บอกได้นะครับ แล้วก็ต้องขอบคุณท่านผู้อ่าน คุณ Chalermkorn Sapproetprai ที่มีฟีดแบ็กตอบกลับมาว่าอยากให้มี flow chart ให้ดูว่าตอนนี้เรียนถึงไหนแล้ว ซึ่งผมก็เห็นว่าเป็นสิ่งที่ดีครับ ดังนั้นมาดูกันว่า สิ่งที่ผมจะเขียนนี้จะประกอบด้วยอะไรบ้าง

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

 

[skill2]ให้อ่านไปแล้วลองทำไปด้วย ด้วยตัวเอง หัดพิมพ์ด้วยตัวเองดู จะได้รู้ว่าทำแล้วได้ผลลัพธ์อย่างไรครับ  การลงมือทำจะทำให้เราเข้าใจอะไรมากขึ้น เพราะว่าเราจะเห็นภาพ เห็นผลลัพธ์ด้วยตัวของเราเอง[/skill2]

 

เอาละมาต่อกันกับชนิดของข้อมูลกันดีกว่านะครับ

 

[thetext]Booleans[/thetext]

บูลีนคืออะไร?  บูลีนก็คือข้อมูลแบบตรรกะ นั่นเองครับ เป้นข้อมูลที่แสดงถึงการตัดสินใจ เป็นตัวที่ง่ายที่สุด เพราะมีค่าความจริง แค่ True กับ False เท่านั้น  ในการเขียน javascript เราจะได้ใช้ boolean เยอะครับ แล้วแต่กรณีไป  สิ่งที่สำคัญที่สุดของ Boolean ก็คือเอาไว้เช็คบรรดา loop แล้วก็เงื่อนไขต่างๆครับ เดี๋ยวบทหน้าๆ เราจะได้เห็นบทบาทของมันมากขึ้นครับ

 

[thetext]Null และ Undefined[/thetext]

ภาษาคอมพิวเตอร์ส่วนใหญ่จะมีค่าที่ “ไม่มีค่าอยู่” หรือเรียกเป็นภาษาทางการว่า “non-existent” อืม อธิบายไงดี ยกตัวอย่างเช่น สมมติว่าเราสร้างตัวแปรมาสักตัว แล้วเรายังไม่ได้กำหนดค่าให้มัน มีแต่ตัวแปรเฉยๆ พอเราจะให้โปรแกรมแสดงค่าตัวแปรนั้นออกมา มันก็ย่อมทำไม่ได้ใช่ครับ ก็ตรูยังไม่มีอะไรข้างในเลยแล้วจะให้ตรูแสดงอะไรออกมา ประมาณนี้ครับ  ซึ่งแบบนี้แหล่ะที่เราเรียกว่า undefined. ถ้าให้เห็นภาพก็ลองดูแบบนี้ครับ

 

สมมติว่าผมสร้างตัวแปรชื่อ  summary นะครับ ก็จะประกาศตัวแปรได้ดังนี้

[codesyntax lang=”javascript”]

var summary;

alert(summary); // ให้แสดงค่า summary

[/codesyntax]

 

เราจะเห็นว่า ถ้ารันออกมาแล้ว มันจะบอกว่า undefined เพราะ มีแค่ตัวแปรเฉยๆ โปรแกรมยังไม่รู้ด้วยซ้ำว่า ตัวแปรนี้จะเก็บค่าอะไร เก็บตัวเลข หรือข้อความ หรือ something อะไรก็แล้วแต่ นี่แหล่ะครับ คือข้อมูลชนิด undefined   ส่วนข้อมูลชนิด null ก็คือประกาศตัวแปรนั้นให้เป็น “ค่าว่าง” นั่นเองครับ

 

[thetext]Object วัตถุ [/thetext]

สำหรับข้อมูลชนิดนี้ อาจจะฟังดูเป็นนามธรรมไปสักหน่อยนะครับ คือเราจะมองอะไรก็แล้วแต่ให้เป็นวัตถุสักก้อนหนึ่ง แล้วใส่คุณสมบัติของวัตถุนั้นลงไป ยกตัวอย่างเช่น  เราเห็น  หมา  เราก็จัดว่า หมา เป็นวัตถุ  ทีนี้คุณสมบัติของหมา มีอะไรบ้าง ก็ยกตัวอย่างเช่น มีชื่อ  มีเจ้าของ  มีสีอะไร เห่าได้ไหม อีทีซี แล้วแต่จะใส่ลงไปครับ

 

Object เป็นอีกตัวหนึ่งที่ทรงพลังมากมายในภาษา javascript ครับ การมองให้เป็นวัตถุจะทำให้เราใช้งานได้ง่ายขึ้น มาูดูตัวอย่างดีกว่าคับ

 

[codesyntax lang=”javascript”]

var obj ={

name : "Sohn",

age : 24,

job : "programmer",

education : {

name: "Chulalongkorn",

id : "1234567",

graduate : true

}

};

alert(obj.name); // Sohn

alert(obj.education.id); // 1234567

[/codesyntax]

 

มาดูรายละเอียดกันครับ  Object จะถูกกำหนดโดยใช้เครื่องหมาย {}  ครับ ซึ่งข้างในเครื่องหมาย {} เราก็จะสามารถใส่ key-value หรือคุณสมบัติของมันลงไปได้  สังเกตดูนะครับ คุณสมบัตินั้น เราจะใช้ :  เป็นตัวบอกว่า คุณสมบัตินี้มีค่าอะไร  เช่นในตัวอย่าง ผมสร้าง วัตถุชื่อว่า obj  โดยมีคุณสมบัติ name คือ Sohn ผมก็เขียนว่า name : “Sohn”  แล้วคุณสมบัติต่อมา เราก็เขียนลักษณะเดียวกันครับ

 

นอกจากนี้ ข้างในวัตถุเรายังสามารถใช้ วัตถุอีกอันแทรกไปข้างในได้อีกด้วย อย่างในตัวอย่าง ผมให้ education เป็นอีกวัตถุหนึ่งที่อยู่ใน obj ซึ่งใน education เองก็มีคุณสมบัติต่างๆด้วยเช่นเดียวกัน ครับ

 

บรรทัด graduate : true  สังเกตให้ดีนะครับ ว่าเราจะไม่มีเครื่องหมาย ; ตามท้าย อย่าเผลอไปใส่ละครับ เดี๋ยวโปรแกรมรันไม่ได้ 55

 

ทีนี้ ถ้าเราต้องแสดงค่าของคุณสมบัติของวัตถุนั้นจะทำอย่างไร ก็ง่ายๆครับ เรียกวัตถุก่อนตามด้วยชื่อคุณสมบัติครับ โดยใช้ จุด (.) ระบุความลึกของข้อมูล  ยกตัวอย่าง ผมต้องการทราบค่า name ของ obj  ผมก็ใช้  obj.name   แต่ถ้าต้องการทราบค่า name ของ education ก็ใช้ obj.education.name  จะเห็นว่า เราเรียงจากใหญ่สุดแล้วก็ซอยย่อยๆลงมาครับ  จริงๆรายละเอียดอื่นๆยังมีอีกมาก แต่ยังไม่จำเป็นต้องรู้ในตอนนี้ครับ เดี๋ยวจะได้เจอแน่ๆในภายหลังเด้อ

 

[thetext]Array[/thetext]  ภาษาโปรแกรมมิ่งส่วนใหญ่ก็มี array ทั้งนั้นครับ array คือการเก็บ “ข้อมูลหลายๆตัวมาเรียงกันเป็นลำดับ”  โดยลำดับมีความสำคัญมากกับข้อมูลชนิดนี้ครับ มันก็คล้ายๆกับ object ครับ เพียงแต่ว่า มันไม่มี key แค่นั้นเอง  ลองดูตัวอย่างนี้คับ

[skill]

[“somchai”, “Somsi”, “Sompong”, 2530]

[/skill]

ข้อมูลนี้เป็น “ชุดข้อมูล” ที่จัดเก็บไว้ใน array ที่ผมบอกว่าลำดับมีความสำคัญ  นั่นก็คือ ตัวแรกของข้อมูลคือ somchai ตัวต่อมาคือ Somsi ต่อมาคือ Sompong และตัวสุดท้ายคือ 2530 ดังนั้นเวลาเราจะเข้าถึงข้อมูลใน array เราจึงจำเป็นต้อง “ระบุลำดับที่” ของข้อมูลในนั้นด้วยครับ โดยที่ array นั้นจะมีลำดับที่ลำดับแรกคือ 0 ครับ (นับเริ่มต้นจาก ศูนย์ นะครับ)

[skill]

var arr = [“somchai”, “Somsi”, “Sompong”, 2530];

alert(arr [2]); // Sompong

[/skill]

 

โค้ดด้านบน เป็นการยกตัวอย่างครับ เราต้องการให้แสดงค่าลำดับที่ 2 ซึ่ง ก็คือ Sompong (อย่าลืมนะครับว่ามันจะเริ่มต้นลำดับแรกคือลำดับที่ศูนย์) ดังนั้นค่าที่แสดงผลออกมาก็คือ Sompong นั่นเองครับ

 

ใน array เราสามารถจัดเก็บข้อมูลได้หลากหลายรูปแบบ ไม่ว่าจะเป็น string, number , Boolean, object เก็บได้หมดครับ

 

เอาละครับ วันนี้บทความวันนี้ขอพอแค่นี้ก่อนดีกว่า ซึ่งก็จะบอกว่า เรื่องของ Type ที่ผมจะเขียนก็มีเพียงเท่านี้แหล่ะครับ หากติดขัดตรงไหน ก็บอกได้ครับ บทความหน้า เราจะมาดูเรื่อง semicolon , comment และ operator ตามลำดับครับ

 

[bigtitle] บอกต่อเพื่อนกด Like บอกผมใช่ไหมให้ comment[/bigtitle]

 

 

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

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
Manage Consent Preferences
  • คุกกี้ที่จำเป็น
    Always Active

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

  • คุกกี้เพื่อการวิเคราะห์

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

  • คุกกี้เพื่อปรับเนื้อหาให้เข้ากับกลุ่มเป้าหมาย

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

บันทึก