Ich habe mir vorhin einen Code in node.js angesehen und festgestellt, dass der Typ, der ihn geschrieben hat, die folgende Syntax zu bevorzugen scheint:
var fn = function (param) {
var paramWithDefault = null == param ? 'Default Value' : param;
}
Über das, was ich für das prägnantere halte:
var fn = function (param) {
var paramWithDefault = param || 'Default Value';
}
Ich habe mich gefragt, ob die zweite Form tatsächlich eine sozialverträglichere JavaScript-Syntax ist. Ich habe sie in der Natur öfter gesehen als der ternäre Operator für diesen Zweck.
Ich stelle fest, dass er im ersten Beispiel das Doppelte Gleiche (nicht das Dreifache Gleiche) verwendet, was bedeutet, dass "undefiniert" als null gezählt wird, was eine Auswirkung verringert, die ich mir vorstellen könnte. Ich habe jedoch an zahlreichen Stellen gelesen, dass == ein ziemlich schlechter Operator in JavaScript ist (JSLint ist sehr dagegen, IIRC).