मैं पहले कुछ नोड.जेएस कोड पर एक नज़र डाल रहा था, और मैंने देखा कि जिस व्यक्ति ने लिखा था, वह निम्नलिखित वाक्य रचना का पक्ष लेता था:
var fn = function (param) {
var paramWithDefault = null == param ? 'Default Value' : param;
}
मैं जिस चीज़ को अधिक संक्षिप्त मानता हूं:
var fn = function (param) {
var paramWithDefault = param || 'Default Value';
}
मैं सोच रहा था कि क्या दूसरा रूप वास्तव में सामाजिक रूप से स्वीकार्य जावास्क्रिप्ट सिंटैक्स है, मैंने इसे इस उद्देश्य के लिए टर्नरी ऑपरेटर की तुलना में अधिक बार जंगली में देखा है।
मैं ध्यान देता हूं कि पहले उदाहरण में वह डबल बराबर (ट्रिपल बराबर नहीं) का उपयोग कर रहा है, जिसका अर्थ है कि यह "अपरिभाषित" को शून्य के रूप में गिना जाएगा, जो एक प्रभाव को कम करेगा जिसे मैं सोच सकता था। हालाँकि, मैंने कई स्थानों पर पढ़ा है कि == जावास्क्रिप्ट में एक नहीं बल्कि एक बुरा ऑपरेटर है (JSLint इसके बहुत खिलाफ है, IIRC)।