मुझे के साथ मेरी Map
ऑब्जेक्ट्स को मजबूत टाइपिंग में परेशानी हो रही है। यहाँ core-js
से एक अंश मानचित्र इंटरफेस को परिभाषित है:टाइपस्क्रिप्ट मानचित्र: मजबूत प्रकारों का उपयोग कैसे करें?
interface Map<K, V> {
clear(): void;
delete(key: K): boolean;
forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;
get(key: K): V;
has(key: K): boolean;
set(key: K, value?: V): Map<K, V>;
size: number;
}
मैं एक नक्शा स्ट्रिंग कुंजी का उपयोग करता है और केवल कभी आकार {name:string,price:number}
साथ मान संग्रहीत कर लेता है कि बनाना चाहते हैं।
let oMap:Map<string,{name:string,price:number}> = new Map();
हालांकि, संकलक त्रुटि TS2322: Type 'Map<{}, {}>' is not assignable to type 'Map<string, { name: string; price: number; }>'
फेंकता है: मैं के साथ मेरी वस्तु घोषित करने की कोशिश की। टाइपस्क्रिप्ट में ES6 Map
ऑब्जेक्ट्स का उपयोग करते समय मजबूत टाइपिंग का लाभ उठाने का कोई तरीका है?
मुझे लगता है कि यह बेहतर है {name: string, price: number} – alexeibs
के लिए इंटरफ़ेस को परिभाषित करने के लिए आमतौर पर मैं ऐसा करूँगा। इससे मुझे यहां मदद नहीं मिली होगी: त्रुटि ट्रिगर की गई थी क्योंकि असाइनमेंट के सही संकेत पर कोई प्रकार नहीं था ('नया मानचित्र' के बगल में)। – BeetleJuice