The startsWith() method determines whether a string begins with the characters of a specified string, returning true or false as appropriate.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
str.startsWith(searchString[, position])
Parameters
searchString- The characters to be searched for at the start of this string.
positionOptional- The position in this string at which to begin searching for
searchString. Defaults to0.
Return value
true if the given characters are found at the beginning of the string; otherwise, false.
Description
This method lets you determine whether or not a string begins with another string. This method is case-sensitive.
Polyfill
This method has been added to the ECMAScript 2015 specification and may not be available in all JavaScript implementations yet. However, you can polyfill String.prototype.startsWith() with the following snippet:
if (!String.prototype.startsWith) {
Object.defineProperty(String.prototype, 'startsWith', {
value: function(search, rawPos) {
var pos = rawPos > 0 ? rawPos|0 : 0;
return this.substring(pos, pos + search.length) === search;
}
});
}
A more robust (fully ES2015 specification compliant), but less performant and compact, Polyfill is available on GitHub by Mathias Bynens.
Examples
Using startsWith()
//startswith
let str = 'To be, or not to be, that is the question.'
console.log(str.startsWith('To be')) // true
console.log(str.startsWith('not to be')) // false
console.log(str.startsWith('not to be', 10)) // true
Specifications
| Specification |
|---|
| ECMAScript (ECMA-262) The definition of 'String.prototype.startsWith' in that specification. |
Browser compatibility
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
startsWith | Chrome Full support 41 | Edge Full support 12 | Firefox Full support 17 | IE No support No | Opera Full support 28 | Safari Full support 9 | WebView Android Full support ≤37 | Chrome Android Full support 36 | Firefox Android Full support 17 | Opera Android Full support 24 | Safari iOS Full support 9 | Samsung Internet Android Full support 3.0 | nodejs
Full support
4.0.0
|
Legend
- Full support
- Full support
- No support
- No support
- User must explicitly enable this feature.
- User must explicitly enable this feature.
