String.prototype.startsWith()

O método startsWith() determina se uma string começa com os caracteres especificados, retornando true ou false.

Sintaxe

str.startsWith(searchString[, position])

Parâmetros

searchString
Os caracteres a serem procurados a partir do início dessa string.
position
Opcional. A posição nessa string na qual se inicia a busca pela searchString. O valor padrão é 0.

Valor retornado

true se os caracteres fornecidos forem encontrados no início da string. Se não, false.

Descrição

Esse método permite determinar se uma string começa ou não com outra string. Esse método é case-sensitive (difere maiúsculas de minúsculas, e vice-versa).

Exemplos

Usando startsWith()

//startswith
let str = 'Ser ou não ser, eis a questão.';

console.log(str.startsWith('Ser'))          // true
console.log(str.startsWith('não ser'))      // false
console.log(str.startsWith('não ser', 7))  // true

Polyfill

Este método foi adicionaldo à especificação ECMAScript 2015 e pode ainda não estar disponível em todas as implementações do JavaScript. No entanto, você pode usar o polyfill String.prototype.startsWith() adicionando o seguinte código:

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;
        }
    });
}

Um polyfill mais robusto (totalmente conforme com a especificação ES2015), mas com menor desempenho e compacto está disponível no GitHub por Mathias Bynens.

Especificações

Especificação
ECMAScript (ECMA-262)
The definition of 'String.prototype.startsWith' in that specification.
Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
startsWithChrome Full support 41Edge Full support 12Firefox Full support 17IE No support NoOpera Full support 28Safari Full support 9WebView Android Full support ≤37Chrome Android Full support 36Firefox Android Full support 17Opera Android Full support 24Safari iOS Full support 9Samsung Internet Android Full support 3.0nodejs Full support 4.0.0
Full support 4.0.0
Full support 0.12
Disabled
Disabled From version 0.12: this feature is behind the --harmony runtime flag.

Legend

Full support  
Full support
No support  
No support
User must explicitly enable this feature.
User must explicitly enable this feature.

Veja também