String.substring() Substring (legacy)
Last updated: 2026-09-09
String.substring() Substring (legacy)
substring extracts between indices, swapping out-of-order args; prefer slice in new code.
| Category | Strings |
|---|---|
| ES version | ES1 |
📝 Syntax
const sub = str.substring(start, end);
⚙️ Parameters
| start | Start index (inclusive); negatives treated as 0. |
|---|---|
| end | Optional. End index (exclusive); defaults to the end. |
Returns:The extracted substring.
Mutates the original:No (returns a new value)
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
Java
Java
⚠️ Warning substring treats negatives as 0 and swaps out-of-order args — the opposite of slice.
ℹ️ info substring is legacy (ES1) — use slice for new work.
🌐 Browser support
| Browser | |||||
|---|---|---|---|---|---|
| String.substring() | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| Supported by all modern browsers | |||||
🏷️ Related Items
💡 Related Cases
More case studies coming soon — check back later.
📚 Related Tutorials
❓ FAQ
Qsubstring or slice?
AUse slice: negative support, no arg swapping. substring is legacy only.
QWhat does substring(3, 1) return?
AArgs are swapped to substring(1, 3). slice(3, 1) returns empty string.
QDoes substring support negatives?
ANo — negatives become 0. Use slice(-3) to count from the end.