Listado completo de tutoriales

ES6 - Funciones con parámetros por defecto


Esta característica de JavaScript nos permite asignar un valor por defecto a un parámetro para los casos en que en la llamada a la misma no se le envíe.

function sumar(x1,x2,x3=0)

Luego podemos llamar a la función sumar enviando dos o tres datos:

sumar(10, 2);
sumar(10, 2, 70);

En la primer llamada x3 queda con el valor 0, en la segunda llamada x3 almacena el valor 70.

Problema

Confeccionar una función que reciba un vector y el tipo de lista HTML que se debe generar. Por defecto generar una lista no ordenada. Retornar una cadena con la lista HTML generada.

<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de JavaScript</title>
  <meta charset="UTF-8">
</head>
<body>

<script>
  function generarLista(vec, tipo='<ul>') {
    let lista=tipo;
    for(let x=0;x<vec.length;x++)
      lista += `<li>${vec[x]}</li>`;
    if (tipo=='<ul>') 
      lista += '</ul>';
    else
      lista += '</ol>'
    return lista;
  }

  const opciones1=['opción 1','opción 2','opción 3','opción 4','opción 5'];
  document.write(generarLista(opciones1));

  const opciones2=['opción a','opción b','opción c','opción d'];
  document.write(generarLista(opciones2,'<ol>'));

</script>

</body>
</html>

En la primer llamada le pasamos un solo parámetro:

  document.write(generarLista(opciones1));

Luego la función generarLista almacena en el parámetro tipo el valor por defecto: '<ul>':

  function generarLista(vec, tipo='<ul>') {
Pero en la segunda llamada le pasamos que queremos obtener una lista HTML ordenada:

  document.write(generarLista(opciones2,'<ol>'));

En el navegador tenemos como resultado:

parámetros por defecto en JavaScript

Puede haber varios valores por defecto, pero deben ser los últimos. Es decir primero indicamos los parámetros que reciben datos en forma obligatoria cuando los llamamos y finalmente indicamos aquellos que tienen valores por defecto.

Retornar