String.substr() - Legacy Method
Deprecated: substr() เป็น Legacy แนะนำใช้ slice() หรือ substring() แทน
ไวยากรณ์
str.substr(start[, length])
พารามิเตอร์:
start- Index เริ่มต้น (รองรับ Negative: นับจากท้าย)length- จำนวนตัวอักษรที่จะดึง (Optional, Default: จนจบ String)
ตัวอย่าง
<html> <body> <p id="demo"></p> <script>
var str = 'Tesla, SpaceX, Neuralink, Solarcity';
var res = str.substr(7, 17); // เริ่ม Index 7, ยาว 17 ตัว
document.getElementById('demo').innerHTML = res;
</script> </body> </html>
ผลลัพธ์: SpaceX, Neuralink
ความแตกต่างสำคัญ: slice() vs substr()
| Aspect | slice(start, end) | substr(start, length) |
|---|---|---|
| Parameter 2 | End Index (ไม่รวม) | Length (จำนวนตัวอักษร) |
| Negative Start | รองรับ | รองรับ |
| Negative End/Length | รองรับ (End) | ไม่รองรับ (Length ต้อง ≥ 0) |
| Status | Standard | Legacy (Annex B) |
แปลง substr() → slice()
// substr(start, length)
str.substr(7, 17)
// → slice(start, start + length)
str.slice(7, 7 + 17) // slice(7, 24)