Ich nenne das: Überflüssige Fehlerquelle.
Schließlich kann ein Parameter auch einen unwahren Wert beinhalten ...
Dann spricht aber auch nichts gegen:
param = param || false;
bei boolschen Parametern bzw.
param = param || 0;
was bei optionalen Parametern die 99,9% Initialisierung sein wird. Aber wenn es sich nicht um Objekte handelt, auf die man mit param.prop zugreifen will, kann man in diesem Fall meist auch ganz auf eine Initialisierung verzichten, da ein
if (param)
in egal ob 0, false, null oder halt undefined das gleiche Ergebnis liefert.
Aber ich weiss was du sagen willst, stimme dir allerdings nicht zu.