Parâmetros Padrão

Suponha que queiramos permitir que, ao usar o módulo, nem todas as configurações precisem ser especificadas. Se alguma configuração não for fornecida, ela assumirá um valor padrão.

Por exemplo, no nosso caso, podemos fazer com que o tipo padrão seja o valor p, e a quantidade - o valor 5:

javascript;(function({root, type = 'p', amount = 5}) {
  let parent = document.querySelector(root);
  
  for (let i = 1; i <= amount; i++) {
    let elem = document.createElement(type);
    parent.append(elem);
  }
})(config);

Desta forma, podemos facilmente configurar nosso módulo de diferentes maneiras. Por exemplo, vamos especificar apenas o elemento pai:

javascriptlet config = {
  root:  '#parent',
}

Agora, vamos especificar o elemento pai e a quantidade. Neste caso, não precisamos especificar o tipo - porque as propriedades do objeto de configuração não têm ordem, e podemos omiti-las como quisermos. Então, aqui está nossa configuração:

javascriptlet config = {
  root:  '#parent',
  amount: 10
}