Eu estava dando uma olhada em algum código node.js. anteriormente e notei que o cara que o escreveu parecia favorecer a seguinte sintaxe:
var fn = function (param) {
var paramWithDefault = null == param ? 'Default Value' : param;
}
Sobre o que considero mais conciso:
var fn = function (param) {
var paramWithDefault = param || 'Default Value';
}
Fiquei me perguntando se o segundo formulário é realmente mais sintaxe JavaScript socialmente aceitável, já o vi na natureza mais vezes do que o operador ternário para esse fim.
Percebo que, no primeiro exemplo, ele está usando o duplo igual (não o triplo igual), o que significa que ele contará "indefinido" como nulo, o que reduziria um impacto que eu poderia pensar. No entanto, eu li em vários lugares que == é um operador bastante ruim em JavaScript (o JSLint é muito contra, IIRC).