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!

รู้จักกับ String

ในตอนก่อนหน้า เราได้เขียนโค้ดเพื่อให้คอมพิวเตอร์ทำงานกับตัวเลขได้แล้ว ในตอนนี้ เราจะมาเรียนรู้วิธีการทำงานกับข้อความ (หรือที่เรียกกันว่า String) กันบ้าง

ข้อความ (String)

  • ลองเปิด JavaScript Console แล้วพิมพ์ "Hello, world!" ดูครับ

    
                
              "Hello, world!"
                
                
              "Hello, world!"
  • จะเห็นว่าเราสามารถสร้างสตริงได้ โดยการใช้เครื่องหมายอัญประกาศคู่ " (double quotes) ครอบข้อความ

  • ถ้าเราลืมใส่ double quotes ก็จะเกิดสิ่งที่เรียกว่า SyntaxError ครับ (หมายความว่า โค้ดที่เราเขียนไม่ถูกต้องตามไวยากรณ์ของภาษา ทำให้คอมพิวเตอร์ไม่สามารถเข้าใจได้)

    
                
              Hello, world!
                
              Uncaught SyntaxError: Unexpected token '!'
          >
  • หรือถ้าเราใส่ double quotes ไว้ข้างหน้าแล้ว แต่ลืมใส่ข้างหลัง ก็ SyntaxError เช่นกัน

    
                
              "Hello, world!
                
              Uncaught SyntaxError: Invalid or unexpected token
          >
  • นอกจาก double quotes แล้ว เรายังสามารถใช้ single quotes ' ครอบข้อความได้เช่นกันครับ[1]

    js
    // ใช้ single quote
    'Hello, world!'
    
    // ใช้ double quote
    'Hello, world!'
  • แปลว่า ถ้าข้อความของเรามี single quotes อยู่ในนั้น ก็สามารถใช้ double quotes ครอบข้อความได้

    js
    "It's dangerous to go alone! Take this."
  • และถ้าข้อความของเรามี double quotes อยู่ในนั้น ก็สามารถใช้ single quotes ครอบข้อความได้

    js
    '"Who are you?" said the Caterpillar.'
  • …แล้วถ้าข้อความของเรา มีทั้ง double quotes และ single quotes ล่ะ จะทำยังไงดี?

    เดี๋ยวคำถามนี้ และคำถามอื่น ที่เกี่ยวกับ string เราจะมาตอบกันในบทหลัง เมื่อเราเรียนรู้ภาษา JavaScript ในระดับลึกขึ้นครับ

Concatenation

  • ถ้าเรามี String สองตัว เราสามารถเอามันมาต่อกันได้ โดยใช้เครื่องหมายบวก +

    
                
              "Hello, " + "world!"
                
                
              "Hello, world!"
  • จะเห็นว่า ในภาษา JavaScript เครื่องหมาย + มีได้สองความหมาย[2]

    1. ใช้ “บวก” เลข (Addition)

      
                  
                1 + 2
                  
                  
                3
    2. ใช้ “ต่อ” สตริงเข้าด้วยกัน (Concatenation)

      
                  
                "Hello, " + "world!"
                  
                  
                "Hello, world!"

Up next

ก็จะเห็นว่า JavaScript ไม่ได้มีแค่ตัวเลข แต่มีข้อความ และมีข้อมูลชนิดอื่น ด้วย คำว่า “ชนิดข้อมูล” ภาษาอังกฤษคือ “data type” เป็นหัวข้อของตอนต่อไปครับ


  1. ภาษา JavaScript อนุญาตให้ใช้ double quotes หรือ single quotes ครอบข้อความได้ทั้งคู่ (สื่อความหมายเดียวกัน) แต่บางภาษา เช่น ภาษา C จะอนุญาตให้ใช้เฉพาะ double quotes เพื่อครอบ string เท่านั้น (ตัว single quotes มีความหมายอื่น) ↩︎

  2. ในภาษาอย่าง JavaScript, Java, Python, Ruby, Swift, C#, Go ใช้เครื่องหมายบวก + สำหรับทั้งการบวกเลขและต่อสตริงเข้าด้วยกัน แต่ในภาษาอื่น อาจจะไม่เป็นเช่นนั้น เช่น ภาษา PHP และ Perl ใช้เครื่องหมาย . ในการต่อสตริง, ภาษา Lua ใช้เครื่องหมาย .. ในการต่อสตริง, ภาษา Haskell ใช้เครื่องหมาย ++ ในการต่อสตริง, ภาษา VB.NET และสูตร Excel ใช้เครื่องหมาย & ในการต่อสตริง, และในบางภาษาไม่มีเครื่องหมายสำหรับการต่อสตริงเลย แต่ใช้สิ่งที่เรียกว่าฟังก์ชันเพื่อทำการต่อสตริงแทน เช่น CONCAT() ในภาษา SQL หรือ strcat() ในภาษา C ↩︎