अनपेक्षित "।" इस कोड पर jslint (http://jslint.com/) से:क्यों 'अप्रत्याशित "।' 'का उपयोग करते समय || ब्रांड्स में डिफ़ॉल्ट मान के लिए ऑपरेटर
function test(foo) {
"use strict";
return (foo || "").replace("bar", "baz");
}
क्यों साथ एक समस्या है jslint है || एक खाली स्ट्रिंग को मजबूर करने के लिए ऑपरेटर ताकि एक त्रुटि को बिना त्रुटि के निष्पादित किया जा सके, अगर फू को अपरिभाषित के रूप में पास किया गया हो?
यह गुजरता है:
function test(foo) {
"use strict";
var xFoo = (foo || "");
return xFoo.replace("bar", "baz");
}
मैं जानता हूँ कि यह राय आधारित है और मैं इसे अनदेखा कर सकते, आदि ... लेकिन समझने के लिए क्यों इस तरह चेनिंग पर सिकोड़ी है कोशिश कर रहा। एशिंट के बारे में भी जानते हैं, लेकिन मैं इस संदेश को पाने की कोशिश नहीं कर रहा हूं, बस समझना चाहता हूं कि क्यों।
ऐसा लगता है कि पहला दृष्टिकोण अधिक संक्षिप्त और क्लीनर है क्योंकि इसे अतिरिक्त चर (xFoo) की आवश्यकता नहीं है।
दोनों कार्य सभी स्थितियों के तहत बिल्कुल वही काम करते हैं।
यह जेएसलिंट में एक बग जैसा दिखता है। – SLaks
[jsHint] (http://jshint.com/) आपके पहले फ़ंक्शन के साथ कोई समस्या नहीं है। – jfriend00
ऐसा लगता है कि यह एक बग है।यदि यह राय आधारित था, तो आपको एक और त्रुटि स्पष्ट रूप से बताई जाएगी कि यह आपके लिंट कॉन्फ़िगरेशन के आधार पर डूब गया है। – mostruash