Valores por defecto

Generated avatar
javascript funciones

Al crear funciones podemos agregar parámetros, que son elementos que nos ayudan a manipular datos al momento de ejecutarlas.

function potenciarNumero(p1, p2) {
const resultado = p1 ** p2;
console.log(resultado);
}

Cuando las ejecutamos usualmente debemos poner el mismo número de argumentos.

potenciarNumero(2, 2);

Terminal window
4

Podemos ponerle valores por defecto a los diferentes argumentos para ahorrarnos un poco de código.

function potenciarNumero(p1, p2 = 2) {
const resultado = p1 ** p2;
console.log(resultado);
}

Al agregar un valor predefinido (= 2) ya no tenemos que usar un segundo argumento si es que lo queremos elevar al cuadrado.

potenciarNumero(3);

Terminal window
9

De igual forma podemos seguir usando la función con un segundo argumento.

En este caso si queremos elevar a una potencia diferente de 2 podemos hacer:

potenciarNumero(2, 4);

Terminal window
16

Precauciones

Cuando agregamos valores por defecto, es mejor usarlos en los parámetros que se encuentren al final.

Un mal uso de ellos sería crear una función como la siguiente:

function miFuncion(p1 = "a", p2, p3) {
console.log(p1 + p2 + p3);
}

Aquí definimos un valor por defecto para p1 tendríamos que pasarlo como undefined para obtener el valor por defecto.

miFuncion(undefined, "b", "c");

Terminal window
abc

Por lo que se pierde el propósito de usar valores por defecto, que es ahorrarnos argumentos.

Si lo hacemos con los valores por defecto en los últimos parámetros podemos aprovecharlos como se debe:

function miFuncion(p1, p2, p3 = "c") {
console.log(p1 + p2 + p3);
}

miFuncion("a", "b");

Terminal window
abc

Comentarios

Compartir

Artículos relacionados

Generated avatar
javascript

Argumentos y parámetros

1 min

Esta artículo aparece en estas rutas de aprendizaje

JavaScript para principiantes

Aprenderemos conceptos de programación básica usando JavaScript y los entornos más comunes en donde puede ser ejecutado

Generated avatar
DEV

Web Dev (Frontend)

Aprendamos HTML, CSS y JS para navegador

Generated avatar
En construcción