Duplicitní názvy argumentů

Často přepisujeme nebo opičíme funkce oprav a v mnoha případech existují argumenty, které nás příliš nezajímají. Běžnou praxí pro tyto argumenty je použití _ pro názvy argumentů -- je to obecně uznávaná a známá praxe pro "toto není důležité". Začal jsem přemýšlet o několika zbytečných argumentech a pokud byste mohli použít stejný název pro minimalizaci - můžete.

Co se tedy stane, když použijete stejný název argumentu více než jednou? Chyba? Používá první hodnotu? Poslední hodnota? Pojďme se podívat:

function myFunc(_, _, _) {
  console.log("_: ", _);
}

myFunc(1, 2, 3);

// >> 3

Duplikovaný argument má hodnotu posledního poskytnutého argumentu. Pokud však "use strict" je použito, dojde k chybě.

Z nějakého důvodu jsem očekával chybu při použití názvu argumentu více než jednou. Na druhé straně můžete změnit hodnoty argumentů, takže bych neměl být překvapen. Každopádně, šťastné kódování!