Avatar ·

TypeScript में "not assignable to parameter of type never" त्रुटि: कारण और समाधान

नमस्ते! मैंने TypeScript सीखना शुरू किया है और एक अजीब त्रुटि का सामना किया जिसे मैं समझ नहीं पा रहा हूँ। मेरे पास सरल कोड है जहाँ मैं एक array को filter करके null और undefined मानों को हटाने की कोशिश कर रहा हूँ: ```typescript const items: (string | null | undefined)[] = ['hello', null, 'world', undefined]; const filteredItems = items.filter(item => item !== null && item !== undefined); console.log(filteredItems); // अपेक्षा: ['hello', 'world'] ``` लेकिन TypeScript यह त्रुटि देता है: `Argument of type '(item: string | null | undefined) => boolean' is not assignable to parameter of type '(value: string | null | undefined, index: number, array: (string | null | undefined)[]) => value is never'`. मैंने विभिन्न विकल्प आज़माए, जैसे `filteredItems` के लिए स्पष्ट रूप से type निर्दिष्ट करना, लेकिन त्रुटि बनी रहती है। इस संदर्भ में `never` का क्या अर्थ है और array को सही तरीके से कैसे filter करें ताकि TypeScript समझे कि null और undefined हटा दिए गए हैं? कृपया समझाएँ कि क्या हो रहा है और इसे कैसे ठीक करें। पहले से धन्यवाद!