Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

includes

Olá, gostaria de saber o pq que o includes funciona nessa linha:

photos.filter(photo => 
                photo.description
                    .toLowerCase()
                    .includes(descriptionQuery));
descriptionQuery = String
photos = [{ objeto },{ objeto },{ objeto }]
photo = { objeto }

Vi na documentacão (https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/contains), que o includes aceita um array.

Porem.. photo.description.toLowerCase() .includes(descriptionQuery));

Seria algo como.. // 'minhadescricao texto texto texto'

como o includes nesse caso está funcionando msm com um texto, se ele funciona apenas com arrays?

2 respostas
solução!

Fala Nícolas,

É que o String também contém o método includes que verifica se uma string contém um trecho de texto passado.

Quando criado esse método includes nas strings se chamava chamava contains, mas houve um bug famoso devido a um antgo framework chamado MooTools que tinha um método chamado contains, dí resolveram mudar o nome da implementação para includes para nao 'quebrar' a internet pois haviam muitos projetos em MooTools.

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/String/includes#String.prototype.contains

Opa Jefferson, vlw pela explicação, nunca tinha parado pra pensar nisso.. que tipos diferentes podem ter uma funcionalidade com o msm nome.

legal, vlw pela explicação ;)