TypeScript:
การดึงข้อมูลย่อยออกมา
วิธีการ:
ใน TypeScript, คุณสามารถตัดและแบ่งสตริงด้วยวิธีการเช่น substring()
, slice()
, และ includes()
ของ ES6 สำหรับการค้นหาข้อความภายในสตริง
let fullString: string = "Hello, TypeScript enthusiasts!";
// คัดลอกจากอักขระที่ 7 ถึง 18
let substr: string = fullString.substring(7, 18);
console.log(substr); // แสดงผล: TypeScript
// การทำงานเดียวกันแต่ใช้ slice()
let sliced: string = fullString.slice(7, 18);
console.log(sliced); // แสดงผล: TypeScript
// ตรวจสอบว่ามีส่วนย่อยของสตริงหรือไม่
let exists: boolean = fullString.includes("TypeScript");
console.log(exists); // แสดงผล: true
ทำความเข้าใจลึกซึ้ง
มีครั้งหนึ่ง, การจัดการสตริงนั้นยุ่งยากมาก—นึกถึงฟังก์ชันสตริงของภาษา C JavaScript และ TypeScript ตอนนี้เสนอวิธีการที่จัดการกับ Unicode, เคารพการเข้ารหัสอักขระ, และทำงานโดยตรงกับออบเจ็กต์สตริง substring()
และ slice()
คล้ายกันแต่มีความแตกต่าง: slice()
สามารถรับดัชนีลบ, คิดย้อนกลับจากท้าย substring()
ถือว่าเป็นศูนย์ ในสถานการณ์ที่ต้องการประสิทธิภาพ, การเลือกหนึ่งมากกว่าอีกอันอาจมีความสำคัญ, แต่สำหรับการใช้งานประจำวัน, มันค่อนข้างเป็นไปในทิศทางเดียวกัน
// ใช้ดัชนีลบกับ slice
let endSliced: string = fullString.slice(-25, -7);
console.log(endSliced); // แสดงผล: Hello, Type
สำหรับ includes()
, มันเป็นข้อได้เปรียบในเรื่องของการอ่านมากกว่า indexOf()
แบบคลาสสิก, ทำให้ความตั้งใจของคุณชัดเจนทันทีที่มองเห็น ไม่ต้องใช้ if (string.indexOf('some text') !== -1)
; เพียงแค่ if (string.includes('some text'))
เท่านั้น
ดูเพิ่มเติม
- คู่มือ TypeScript เกี่ยวกับสตริง, สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานชนิด ‘string’: TypeScript String
- MDN Web Docs เกี่ยวกับวิธีการของสตริงใน JavaScript, ที่ใช้ได้กับ TypeScript: MDN String
- เพื่อการเข้าใจเพิ่มเติมเกี่ยวกับ Unicode และ JavaScript (และด้วยเหตุนี้จึงเป็น TypeScript), ตรวจสอบ Understanding JavaScript’s internal character encoding: UCS-2? UTF-16?