JavaScript
Primitive Types
string
เรียนรู้ `string` สำหรับเก็บข้อความ วิธีใช้ quotes, template literals แบบพื้นฐาน และข้อควรระวังเมื่อข้อความหน้าตาเหมือนตัวเลข
string ใช้เก็บข้อความ
`string` คือ primitive type สำหรับข้อความ เช่น ชื่อสินค้า ข้อความแจ้งเตือน URL หรือรหัสที่ไม่ต้องนำไปคำนวณ ค่าที่เป็น `string` ต้องอยู่ใน quotes: single quote (`'`) หรือ double quote (`"`) นอกจากนี้ยังมี backtick (`` ` ``) ซึ่งใช้กับ template literal — เราจะเรียนในบทถัดไป
let firstName = "Mali";
let status = 'ready';
let message = "Hello " + firstName;
console.log(firstName); // "Mali"
console.log(status); // "ready"
console.log(message); // "Hello Mali"ข้อความกับตัวเลขไม่ใช่สิ่งเดียวกัน
ตัวเลขที่อยู่ใน quotes จะเป็น `string` ไม่ใช่ `number` ถึงหน้าตาจะเหมือนตัวเลขก็ตาม ถ้าใช้ `+` กับ `string` JavaScript จะต่อข้อความ จึงต้องระวังเวลานำค่าจาก input หรือ API มาใช้คำนวณ
console.log("20" + 5); // "205"
console.log(20 + 5); // 25
console.log(typeof "20"); // "string"
console.log(typeof 20); // "number"- ใช้ `string` เมื่อข้อมูลเป็นข้อความ หรือเป็นรหัสที่ไม่ควรคำนวณ
- ใช้ `+` เพื่อเชื่อมข้อความหลายตัวเข้าด้วยกัน
- อย่าเดาว่าค่าที่หน้าตาเป็นตัวเลขจะเป็น `number` เสมอ ให้ตรวจด้วย `typeof` เมื่อไม่แน่ใจ
escape character ใช้เขียนตัวอักษรพิเศษใน string
บางตัวอักษรใส่ใน string ตรง ๆ ไม่ได้ — เช่น ขึ้นบรรทัดใหม่, backslash, หรือ quote ตัวเดียวกับที่ใช้เปิด-ปิด string แก้ด้วย **escape character**: เติม `\` นำหน้าตัวอักษรนั้น JavaScript จะตีความเป็นตัวอักษรพิเศษอีกแบบหนึ่ง
| Escape | ความหมาย | ตัวอย่างโค้ด | ผลลัพธ์ |
|---|---|---|---|
| `\n` | ขึ้นบรรทัดใหม่ (newline) | `"บรรทัดที่ 1\nบรรทัดที่ 2"` | บรรทัดที่ 1 บรรทัดที่ 2 |
| `\t` | แท็บ (tab) — เว้นระยะแบบย่อหน้า | `"ชื่อ:\tMali"` | ชื่อ: Mali |
| `\\` | backslash จริง ๆ 1 ตัว | `"C:\\Users\\Mali"` | C:\Users\Mali |
| `\'` | single quote ใน single-quote string | `'It\'s JavaScript'` | It's JavaScript |
| `\"` | double quote ใน double-quote string | `"เขาพูดว่า \"สวัสดี\""` | เขาพูดว่า "สวัสดี" |
let address = "123 ถนนสุขุมวิท\nกรุงเทพฯ 10110";
let label = "ชื่อ:\tMali";
let path = "C:\\Users\\Mali";
let quote1 = 'It\'s JavaScript';
let quote2 = "เขาพูดว่า \"สวัสดี\"";
console.log(address);
// 123 ถนนสุขุมวิท
// กรุงเทพฯ 10110
console.log(label); // ชื่อ: Mali
console.log(path); // C:\Users\Mali
console.log(quote1); // It's JavaScript
console.log(quote2); // เขาพูดว่า "สวัสดี"- ใช้ `\n` เมื่อต้องการข้อความหลายบรรทัดใน string ที่ใช้ single/double quote
- ใช้ `\\` เมื่อต้องการใส่เครื่องหมาย backslash จริง ๆ (เช่น path บน Windows)
- ใช้ `\'` หรือ `\"` เมื่อ quote ที่จะใส่ตรงกับ quote ที่ใช้เปิด-ปิด string