Stavo dando un'occhiata ad alcuni codici node.js in precedenza e ho notato che il ragazzo che lo ha scritto sembrava favorire la seguente sintassi:
var fn = function (param) {
var paramWithDefault = null == param ? 'Default Value' : param;
}
Su quello che considero più conciso:
var fn = function (param) {
var paramWithDefault = param || 'Default Value';
}
Mi chiedevo se la seconda forma fosse in realtà una sintassi JavaScript socialmente più accettabile, l'ho vista in natura più volte dell'operatore ternario per questo scopo.
Noto che nel primo esempio sta usando il doppio uguale (non il triplo uguale), il che significa che conterà "indefinito" come nullo, il che ridurrebbe un impatto a cui potrei pensare. Tuttavia, ho letto in numerosi punti che == è un operatore piuttosto malvagio in JavaScript (JSLint è decisamente contrario, IIRC).