Daha önce bazı node.js koduna bakıyordum ve bunu yazan adamın aşağıdaki sözdizimini desteklediğini fark ettim:
var fn = function (param) {
var paramWithDefault = null == param ? 'Default Value' : param;
}
Ben daha özlü olarak düşündüğüm üzerinde:
var fn = function (param) {
var paramWithDefault = param || 'Default Value';
}
İkinci formun aslında sosyal olarak daha kabul edilebilir bir JavaScript sözdizimi olup olmadığını merak ediyordum, bu amaçla üçlü operatörden daha çok vahşi bir şekilde gördüm.
İlk örnekte, çift eşittir (üçlü eşit değil) kullandığını, yani "tanımsız" değeri null olarak sayacağı anlamına gelir ve bu da düşünebileceğim bir etkiyi azaltır. Ancak, == JavaScript'te oldukça kötü bir operatör olduğunu birçok yerde okudum (JSLint buna karşı çok fazla, IIRC).