JS: String.prototype.slice
str.slice(start)-
Return a substring from index start to end.
console.log("abcd".slice(1, 3) === "bc"); str.slice(start, end)-
Return a substring from index start to end.
console.log("abcd".slice(0, "abcd".length) === "abcd"); console.log("abcd".slice() === "abcd"); console.log("abcd".slice(1) === "bcd"); console.log("abcd".slice(-1) === "d"); console.log("abcd".slice(-2) === "cd"); // same index, empty string console.log("abcd".slice(2, 2) === ""); // when start index is greater than end index, result is empty string console.log("abcd".slice(3, 2) === ""); console.log("abcd".slice(-2, -3) === "");
🛑 WARNING: string methods do not work the way you think if it contains characters outside of Unicode Basic Multilingual Plane (e.g. emoji 🦋.). See JS: String Code Unit
Dealing with unicode string
If the string contains unicode emoji, turn it to array by Array.from then use splice or toSpliced.
// take a substring of string that contains emoji console.log(Array.from("🦋bc").slice(0, 2).join("")); // 🦋b // bad console.log("a🦋bc".slice(0, 2)); // a�
JavaScript. substring
JS String.prototype
- JS: String.prototype.constructor
- JS: String.prototype.length
- JS: String.prototype.at (Extract Char at Index)
- JS: String.fromCharCode (Char ID to Char) ❌
- JS: String.prototype.concat
- JS: String.prototype.repeat
- JS: String.prototype.trim
- JS: String.prototype.trimStart
- JS: String.prototype.trimEnd
- JS: String.prototype.padStart
- JS: String.prototype.padEnd
- JS: String.prototype.slice
- JS: String.prototype.substring ❌
- JS: String.prototype.substr
- JS: String.prototype.indexOf
- JS: String.prototype.lastIndexOf
- JS: String.prototype.includes
- JS: String.prototype.startsWith
- JS: String.prototype.endsWith
- JS: String.prototype.search
- JS: String.prototype.match
- JS: String.prototype.matchAll
- JS: String.prototype.replace
- JS: String.prototype.split
- JS: String.prototype.toLowerCase
- JS: String.prototype.charAt (Extract Char at Index) ❌
- JS: String.prototype.charCodeAt (Char to Char ID) ❌
- JS: String.prototype.codePointAt (Char to Char ID) ❌