Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

142
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!