¿Cómo se pasan los parámetros en una función en JavaScript? 

Estrada Web Group
Estrada Web Group
¿Cómo se pasan los parámetros en una función en JavaScript? 

En este tutorial aprenderás cómo funciona el paso de parámetros por valor en funciones de JavaScript y te brindo algunos ejemplos de cómo pasar valores primitivos y de referencia a una función.

Antes de continuar con este tutorial, debe tener un buen conocimiento de los valores primitivos y de referencia, y las diferencias entre ellos.

Introducción de cómo pasar parámetros en funciones en JavaScript

JavaScript es un lenguaje de programación popular que se utiliza en desarrollo web. Uno de los conceptos fundamentales en cualquier lenguaje de programación es el paso de parámetros a funciones, ya que esto permite a los programadores dividir su código en pequeñas funciones reutilizables. En JavaScript, los parámetros son pasados a las funciones de dos maneras: por valor y por referencia.

Cuando un parámetro es pasado por valor, se está pasando una copia del valor de la variable a la función. Esto significa que, si se modifica el valor del parámetro dentro de la función, no afectará al valor original de la variable fuera de la función.

Por otro lado, cuando un objeto es pasado como parámetro, se está pasando una referencia al mismo. Esto significa que, si se modifica el objeto dentro de la función, se verá reflejado en la variable fuera de la función.

En este tutorial, vamos a profundizar en estos conceptos y veremos ejemplos detallados de cómo funciona el paso de parámetros por valor y por referencia en JavaScript. Aprenderás cómo afecta esto a tu código y cómo puedes utilizar esta información para escribir código más eficiente y fácil de mantener.

Paso parámetros por valor a una función en JavaScript

Como comentamos anteriormente, en JavaScript, los parámetros son pasados a las funciones por valor, lo que significa que cuando una variable es pasada como parámetro, se pasa una copia de su valor al método, no la variable en sí. Esto significa que, si el valor del parámetro es modificado dentro de la función, no afectará al valor original de la variable fuera de la función.

Por ejemplo:

let x = 10;

function addFive(num) {
  num += 5;
  console.log(num); // Output: 15
}

addFive(x);

console.log(x); // Output: 10

En este ejemplo, se pasa la variable x como parámetro a la función addFive, pero cuando se agrega 5 al valor del parámetro dentro de la función, el valor original de x no cambia.

Paso parámetros por referencia a una función en JavaScript

En JavaScript también se puedes pasar objetos como parámetros, eso significa que si un objeto es pasado como parámetro, se está pasando una referencia a ese objeto, no una copia. Si se modificas el objeto dentro de la función, se verá reflejado fuera de la función.

let obj = {x: 10};

function addFive(num) {
  num.x += 5;
 console.log(num.x); // Output: 15
}

addFive(obj);

console.log(obj.x); // Output: 15

En este ejemplo, obj es un objeto con una propiedad x con valor 10. La función addFive recibe el objeto como parámetro y agrega 5 al valor de su propiedad x. Cuando se hace el log del valor de x dentro y fuera de la función el resultado es 15.

Parece que JavaScript pasa un objeto por referencia porque el cambio en el objeto se refleja fuera de la función. Sin embargo, éste no es el caso.

De hecho, cuando pasas un objeto a una función, estás pasando la referencia de ese objeto, no el objeto real. Por lo tanto, la función puede modificar las propiedades del objeto a través de su referencia.

Sin embargo, no puedes cambiar la referencia pasada a la función. Por ejemplo:

let person = {
  name: 'John',
  age: 25,
};


function increaseAge(obj) {
  obj.age += 1;

  // reference another object
  obj = { name: 'Jane', age: 22 };
}

increaseAge(person);

console.log(person);

Resultado:

{name: 'John', age: 26}

Resumen  

JavaScript utiliza el paso de parámetros por valor, en el cual se pasa una copia del valor de una variable como parámetro a una función, por lo que si esa variable es modificada dentro de la función no afectará al valor original de la variable fuera de ella. En el caso de objetos, se pasa una referencia y por lo tanto si se modifica el objeto dentro de la función se verá reflejado fuera de ella. Conociendo estos detalles se puede escribir un código más limpio y eficiente.

Compartir artículo:

Más artículos geniales

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla