Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

163
Visualizações
Cadena de JavaScript reemplazar vs replaceAll

ECMAScript 2021 ha agregado una nueva función de cadena replaceAll . Hace mucho tiempo, en una galaxia no muy lejana, la gente usaba split + join o expresiones regulares para reemplazar todas las apariciones de una cadena .

Creé el siguiente ejemplo para comparar el nuevo método con los antiguos. Si bien pude ver algunas diferencias en el primer caso, por ejemplo, no puedo usar patrones de reemplazo con split + join o necesito escapar de caracteres especiales con RegExp(str,"g") , no puedo ver ninguna diferencia en el segundo caso

¿Cuáles son las diferencias entre el nuevo método y los antiguos (diferencia de comportamiento, rendimiento, compatibilidad del navegador...)?

 const source = "abcdefabcdef"; const str1 = "abc", str2 = "xyz"; const reg1 = /abc/g, reg2 = "xyz"; //Case 1 : When we want to replace a string by another console.log(source.split(str1).join(str2)); console.log(source.replace(new RegExp(str1,"g"),str2)); //versus console.log(source.replaceAll(str1,str2)); //Case 2 : When we want to use a regular expression console.log(source.replace(reg1,reg2)); //versus console.log(source.replaceAll(reg1,reg2)); //Result = "xyzdefxyzdef"

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Al recopilar la documentación para replaceAll , encontramos los siguientes datos:

const newStr = str.replaceAll(regexp|substr, newSubstr|función)

Nota: Al usar una regexp regular, debe configurar el indicador global ("g"); de lo contrario, arrojará un TypeError: "replaceAll debe llamarse con un RegExp global".

En otras palabras, al llamar a replaceAll con un literal regex o RegExp , debe usar el indicador global. Por lo tanto, no parece que se gane mucho llamando a replaceAll en lugar de simplemente usar el replace actual. Sin embargo, una diferencia con replaceAll es que al pasarle una cadena, automáticamente realizará un reemplazo global. Aquí es donde puede ahorrarse un poco de tipeo, al no tener que ingresar una bandera global.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda