Skip to content
This page is a draft. It may be incomplete or contain inaccuracies. If you have any comment, please feel free to leave some feedback!

รู้จักกับชนิดข้อมูล (Data Types)

ตอนนี้เราได้ลองใช้งานข้อมูล 2 ชนิดแล้วในภาษา JavaScript ก็คือตัวเลข (Number) กับข้อความ (String)

และเดี๋ยวเราจะได้เจอกับชนิดอื่น ในบทต่อ ไป

typeof

  • เราสามารถตรวจสอบชนิดข้อมูล โดยการใช้โอเปอเรเตอร์ typeof ได้

    
                
              typeof 123
                
                
              "number"
    
                
              typeof "Hello, world!"
                
                
              "string"

การแปลงชนิดข้อมูล (Type Coercion)

  • จำได้ใช่ไหมครับว่าในตอนก่อนหน้า เครื่องหมาย + สามารถใช้ได้ทั้งสำหรับการบวกเลข และต่อ string เข้าด้วยกัน?

  • แต่จะเกิดอะไรขึ้น ถ้าเอาข้อมูลชนิด number กับ string มา + กัน?

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

      
                  
                123 + "456"
                  
                  
                "123456"
  • หรือถ้าเอา string สองอันมา * กันล่ะ?

Exercise

  • ในตอนก่อนหน้า (“ลำดับการทำงานของตัวดำเนินการ”) เราได้เรียนรู้กันไปว่า 10 + 10 * 0 + 10 ในภาษา JavaScript คำตอบคือ 20

    
                
              10 + 10 * 0 + 10
                
                
              20
  • แต่ถ้าเราลองเปลี่ยนตัวเลขทั้งหมดในโจทย์ ให้เป็น string แทนล่ะ JavaScript จะตอบเท่าไหร่?

    
                
              "10" + "10" * "0" + "10"
  • ลองหาคำตอบโดยไม่ใช้ Console ดูครับ ลองเช็คคำตอบข้างล่างได้เลย

    "10" + "10" * "0" + "10"

    ตอบ: