क्या स्विच केस उदाहरण विवरण में टाइपो को पकड़ना संभव है?जावास्क्रिप्ट आयात संभाल अपरिभाषित
पसंदीदा तरीका यह होगा कि एस्लिनटर एक चेतावनी/त्रुटि की रिपोर्ट करेगा। वर्तमान में toString()
const
जोड़कर TypeError
को रनटाइम में अपरिभाषित करने के लिए उपयोग किया जा सकता है।
actionTypes.js
export const UPDATE_REQUEST = 'UPDATE_REQUEST';
reducer.js
import * as types from '../constants/actionTypes';
export default function pouchdbReducer(state = {}, action) {
switch (action.type) {
case types.UPDDATE_REQUEST:
// there is a typo above and it evaluates to `undefined`
// this code would never be reached - how to make it an error
return Object.assign({}, state, {updated: true});
default:
return state;
}
}
अद्यतन:
के रूप में @ nikc.org जवाब eslint-plugin-importnamespace विकल्प के साथ इस तरह के कीड़े linting के लिए इस्तेमाल किया जा सकता है।
https://github.com/bmihelac/test-js-import-undefined/tree/eslint-plugin-import
eslint config के प्रासंगिक हिस्सा है::
यहाँ विन्यास और डेमो के साथ छोटे भंडार है
"plugins": ["import"],
"rules": {
"import/namespace": [2],
ठीक है, इस तरह की त्रुटियों को पकड़ने की कोशिश करने में समस्या यह है कि वे आवश्यक त्रुटियां नहीं हैं। कोड के बारे में कुछ भी गलत नहीं है, दूसरे शब्दों में, जावास्क्रिप्ट के नियम दिए गए हैं। – Pointy
@ es6 मॉड्यूल के रूप में पॉइंटी स्थिर हैं मैं उम्मीद कर रहा हूं कि कुछ सांख्यिकीय विश्लेषक इस तरह के टाइपो ढूंढ सकते हैं। – bmihelac
ठीक है, शायद यह मामला है कि चतुर स्थैतिक विश्लेषण कम से कम गलत वर्तनी स्थिरता की अनुपस्थिति को नोटिस करेगा। – Pointy