Estaba mirando algún código de node.js antes, y noté que el tipo que lo escribió parecía favorecer la siguiente sintaxis:
var fn = function (param) {
var paramWithDefault = null == param ? 'Default Value' : param;
}
Sobre lo que considero más conciso:
var fn = function (param) {
var paramWithDefault = param || 'Default Value';
}
Me preguntaba si la segunda forma es en realidad una sintaxis JavaScript más socialmente aceptable, la he visto en la naturaleza más veces que el operador ternario para este propósito.
Observo que en el primer ejemplo está usando los dobles iguales (no los triples iguales), lo que significa que contará "indefinido" como nulo, lo que reduciría un impacto en el que podría pensar. Sin embargo, he leído en numerosos lugares que == es un operador bastante malvado en JavaScript (JSLint está muy en contra, IIRC).