String ใน JavaScript เป็น immutable (เปลี่ยนค่าไม่ได้) ต้องสร้าง string ใหม่
ตัวอย่าง: แทนที่ index 3
<html>
<head>
<title>JavaScript Boolean</title>
</head>
<body>
<script>
var str = "cric";
document.write("Original String: " + str); // "cric"
var index = 3;
str = str.substr(0, index) + 'x' + str.substr(index + 1);
document.write("<br>New String: " + str); // "crix"
</script>
</body>
</html>
วิธีอื่นๆ (Modern)
| วิธี | โค้ด | หมายเหตุ |
|---|---|---|
| substring + concat | str.slice(0,i) + 'x' + str.slice(i+1) | slice() แนะนำกว่า substr() |
| Array spread | [...str].map((c,i)=>i===3?'x':c).join('') | Functional style |
| Regex replace | str.replace(/./, 'x') (แค่ตัวแรก) | ต้องใช้ regex advance สำหรับ index เฉพาะ |