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.