Clonando objetos en JavaScript

Valores primitivos y objetos

Cuando programamos, es usual invocar funciones y pasar argumentos, sin embargo es posible que no conozcamos el manejo que le da JavaScript a esos parámetros, motivo por el cual a veces obtenemos resultados inesperados.

💡 Primero que todo vamos a aclarar los términos argumetos y parámetros:

  • argumetos hace referencia a los valores que le enviamos a una función.
  • parámetros hace referencia a los valores que recibe la función y son especificados en la firma de la función.
    // a y b son los parámetros de suma
    function suma (a, b) {
        return a + b;
    }

    var x = 5;

    // x y 8 son los argumentos enviados a suma
    var r = suma(x, 8);

⭐ Al enviar argumentos con valor primitivo (string, number, boolean, null, undefined), el parámetro de la función que recibe el valor crea una copia by value.
Esto significa que cualquier cambio que hagamos sobre ese parámetro, sólo será válido dentro de la función y no afectará al argumento original. Veamos el siguiente ejemplo:

Continue reading

Advertisements