¿Es una mala práctica reutilizar variables de parámetros de funciones?
const reformat = (phone)=>{ phone = phone.replace("-", ",") //... more operation using phone return phone; }¿Hay alguna razón por la que deba evitarse tal reutilización? ¿O siempre es seguro continuar con ese uso?
diferentes casos a cuidar:
// argument is not a reference ( string, numbers ) function add_5(num) { num += 5 return num } let initial_num = 10 let returned_num = add_5(initial_num ) console.log( `initial_num-> ${initial_num}, returned_num-> ${returned_num}`) // argument is reference ( objects ) function directArgObj( obj) { obj.num += 5 } let initial_obj = { num: 10, abc:'xyz' } directArgObj(initial_obj ) console.log( `initial_obj-> ${JSON.stringify(initial_obj)} `)Para cadenas, como en tu ejemplo, está bien. Algunas personas pueden pensar que podría resultar confuso si intenta depurar y registrar esa variable en la consola en algún momento después de que se haya cambiado, pero eso es principalmente subjetivo. Usa tu mejor juicio.
Para los objetos, que siempre se pasan por referencia, debe evitar realizar cambios en la función porque esos cambios también estarán presentes fuera de la función.
P.EJ:
var myObject = { message: "Hello, world" }; function alertMessage(msgObj){ msgObj.message = "Hello moto"; alert(msgObj.message); } alertMessage(myObject); // The object has changed. console.log(myObject);No, no es. Y a veces ahorra memoria, ya que cuando usa otra variable nueva, ocupará su memoria. Y el proceso de función es mucho más largo, muchas transformaciones entonces no será una buena práctica. Así que de acuerdo a sus preguntas,