String.prototype.includes()

Esta tradução está incompleta. Ajude atraduzir este artigo.

This is a new technology, part of the ECMAScript 2015 (ES6) standard.
This technology's specification has been finalized, but check the compatibility table for usage and implementation status in various browsers.

O método includes() determina se uma string pode ser encontrada dentro de outra string, retornando true ou false, conforme apropriado.

Sintaxe

str.includes(searchString[, position])

Parâmetros

searchString
A string que será pesquisada dentro desta string.
position
Opcional. O indíce da posição da string que iniciará a busca; padrão 0.

Descrição

Este método permite determinar se uma string contém outra string.

Case-sensitivity

O método includes() é case sensitive. Por exemplo, a seguinte expressão retorna false:

'Baleia Azul'.includes('azul'); // returns false

Exemplos

Utilizando includes()

var str = 'Ser, ou não ser, eis a questão.';

console.log(str.includes('Ser'));         // true
console.log(str.includes('questão'));     // true
console.log(str.includes('não existe'));  // false
console.log(str.includes('Ser', 1));      // false
console.log(str.includes('SER'));         // false

Implementação

Este método foi adicionado à especificação ECMAScript 6 e pode não estar disponível em todas as implementações JavaScript. No entanto, você pode facilmente implementar este método:

if (!String.prototype.includes) {
  String.prototype.includes = function() {'use strict';
    return String.prototype.indexOf.apply(this, arguments) !== -1;
  };
}

Especificações

Especificação Status Comentário
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.includes' in that specification.
Standard Definição inicial.

Compatibilidade do navegador

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico 41 40 (40) Não suportado Não suportado 9
Característica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico Não suportado Não suportado 40.0 (40) Não suportado Não suportado Não suportado

String.prototype.contains

No Firefox 18 - 39, o nome deste método era contains(). Ele foi renomeado para includes() no bug 1102219 devido ao seguinte motivo:

Foi reportado que alguns websites que utilizam MooTools 1.2 não funcionavam no Firefox 17. Esta versão do MooTools checa se String.prototype.contains() existe e, se não existir,  MooTools adiciona sua própria função. Com a implementação desta função no Firefox 17, o comportamento desta validação mudou de uma forma que códigos baseados na implementação da função String.prototype.contains() do MooTools parassem de funcionar. Como resultado, esta mudança foi desabilitada no Firefox 17 e String.prototype.contains() foi disponibilizada na versão seguinte, no Firefox 18.

MooTools 1.3 força sua própria versão do String.prototype.contains(), portanto websites baseados nela não devem parar de funcionar. No entanto, você deve notar que a assinatura do MooTools 1.3 e a assinatura ECMAScript 6 diferem (no segundo argumento). Posteriormente, MooTools 1.5+ mudou sua assinatura para o padrão ES6.

Veja também

Etiquetas do documento e colaboradores

Etiquetas: 
 Colaboradores desta página: brunolellis
 Última atualização por: brunolellis,