Parâmetros padrão de JavaScript

Neste tutorial, você aprenderá sobre os parâmetros padrão do JavaScript com a ajuda de exemplos.

O conceito de parâmetros padrão é um novo recurso introduzido na versão ES6 do JavaScript. Isso nos permite fornecer valores padrão aos parâmetros da função. Vamos dar um exemplo,

 function sum(x = 3, y = 5) ( // return sum return x + y; ) console.log(sum(5, 15)); // 20 console.log(sum(7)); // 12 console.log(sum()); // 8

No exemplo acima, o valor padrão xé 3 e o valor padrão yé 5 .

  • sum(5, 15)- Quando ambos os argumentos são passados, xleva 5 e yleva 15 .
  • sum(7)- Quando 7 é passado para a sum()função, xassume 7 e yo valor padrão 5 .
  • sum()- Quando nenhum argumento é passado para a função sum () , xassume o valor padrão 3 e yo valor padrão 5 .
Como os argumentos padrão funcionam em JavaScript

Usando expressões como valores padrão

Também é possível fornecer expressões como valores padrão.

Exemplo 1: Passando Parâmetro como Valores Padrão

 function sum(x = 1, y = x, z = x + y) ( console.log( x + y + z ); ) sum(); // 4

No programa acima,

  • O valor padrão xé 1
  • O valor padrão yé definido como xparâmetro
  • O valor padrão zé a soma de xey

Se você referenciar o parâmetro que ainda não foi inicializado, receberá um erro. Por exemplo,

 function sum( x = y, y = 1 ) ( console.log( x + y); ) sum(); 
Resultado
 ReferenceError: Não é possível acessar 'y' antes da inicialização

Exemplo 2: Passando o valor da função como valor padrão

 // using a function in default value expression const sum = () => 15; const calculate = function( x, y = x * sum() ) ( return x + y; ) const result = calculate(10); console.log(result); // 160

No programa acima,

  • 10 é passado para a calculate()função.
  • xtorna 10- yse e torna - se 150(a função soma retorna 15).
  • O resultado será 160.

Passando valor indefinido

Em JavaScript, quando você passa undefinedpara uma função de parâmetro padrão, a função assume o valor padrão. Por exemplo,

 function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1

Artigos interessantes...