2016-02-29 13 views
5

ESLint मुझे मेरी जे एस मॉड्यूल के अंदर यह त्रुटि संदेश कह रहा है: त्रुटि कोई अनावश्यक-त्रिगुट अनावश्यक सशर्त अभिव्यक्ति की डिफ़ॉल्ट असाइनमेंट के लिए उपयोगESLint त्रुटि कोई अनावश्यक-त्रिगुट

त्रुटि get में आता है return कथन return val ? val : defaultVal; पर विधि?

import ls from 'local-storage'; 

export default { 
    get(key, defaultVal = null) { 
     var val = ls(key); 
     return val ? val : defaultVal; 
    }, 

    set(key, val) { 
     return ls(key, val); 
    }, 

    remove(key) { 
     return ls.remove(key); 
    }, 
}; 

कोई विचार मुझे यह त्रुटि संदेश क्यों मिलता है? मैं यह त्रुटि संदेश here के बारे में ESLint की वेबसाइट पर कुछ संसाधन पाया है लेकिन यह बूलियन अभिव्यक्ति पर लागू होता है और मुझे लगता है

उत्तर

20

को समझ नहीं सकता क्यों कि मेरे कोड लागू होगा ... तुम एक त्रिगुट की जरूरत नहीं है जब एक साधारण val || defaultVal करूँगा।

+0

टर्नरी ऑपरेटर एक तेज़ है। https://jsperf.com/default-assignment-by-uma/ –

+0

@ उमाकांतपतिल समकक्ष नहीं हैं। –

+0

@UmakantPatil एक बार जब आप उन्हें वास्तव में एक ही काम करते हैं तो अंतर (ए) ब्राउज़र-निर्भर, और (बी) 1-3% के भीतर होते हैं। यह भी छोटा और स्पष्ट है; जब तक कि आप एक बहुत तंग गेम लूप में हों या इसी तरह यह एक व्यर्थ माइक्रो-ऑप्टिमाइज़ेशन है। किसी भी मामले में, मूल प्रश्न ईएसलिंट चेतावनी के बारे में था जो डिफ़ॉल्ट मान असाइनमेंट में टर्नरी को फ़्लैग करने के लिए डिफ़ॉल्ट है। ¯ \ (° _o)/¯ –

संबंधित मुद्दे