Como pegar o trecho de texto no JavaScript
O método slice é amplamente utilizado para extrair partes de uma string, oferecendo suporte a índices negativos e maior flexibilidade. O método substring também pode ser usado, mas possui algumas diferenças importantes.
Usando slice
O método slice permite extrair partes de uma string com base em índices, incluindo suporte a valores negativos.
Sintaxe básica
string.slice(indiceInicio, indiceFim)
Exemplo:
let texto = "JavaScript"
let trecho = texto.slice(0, 4)
console.log(trecho) // "Java"
Índices negativos
Com slice, você pode usar índices negativos para contar a partir do final da string.
let texto = "JavaScript"
console.log(texto.slice(-6, -1)) // "Scrip"
Usando substring
O método substring também é usado para extrair partes de uma string, mas não suporta índices negativos. Ele trata valores negativos como 0.
Sintaxe básica
string.substring(indiceInicio, indiceFim)
Exemplo:
let texto = "JavaScript"
let trecho = texto.substring(0, 4)
console.log(trecho) // "Java"
Diferença de comportamento
Índices negativos:
sliceaceita índices negativos.substringconverte índices negativos para0.
Ordem dos índices:
- Em
substring, se o índice inicial for maior que o final, os valores são invertidos. - Em
slice, a ordem dos índices é respeitada.
- Em
Exemplo comparativo:
let texto = "JavaScript"
// Usando slice
console.log(texto.slice(4, 0)) // ""
// Usando substring
console.log(texto.substring(4, 0)) // "Java"
Aviso sobre substr
O método substr está em desuso e não é recomendado para novos projetos. Ele pode não ser suportado em implementações futuras.
Exemplo de substr:
let texto = "JavaScript"
console.log(texto.substr(4, 6)) // "Script"
Prefira usar slice ou substring para garantir compatibilidade e boas práticas.
Conclusão
O método slice é mais flexível e recomendado para manipulação de strings, especialmente por suportar índices negativos. No entanto, substring ainda pode ser útil em casos específicos. Experimente ambos para entender suas diferenças e escolher o mais adequado para suas necessidades.