मैं टाइपस्क्रिप्ट के साथ खेल रहा हूं और जावास्क्रिप्ट से इसे एक छोटी लाइब्रेरी में परिवर्तित कर रहा हूं। कोड के एक क्षेत्र में उनके कुंजीकोड में दोस्ताना कुंजी नाम का एक सांख्यिकीय रूप से परिभाषित मैपिंग था। मूल कोड देखा की तरह:मैं टाइपस्क्रिप्ट में एक संख्या-> स्ट्रिंग डिक्शनरी को कैसे परिभाषित करूं?
keys: { "Backspace": 8, "Tab": 9, "Enter": 13, ....etc.. };
मैं के माध्यम से टाइपप्रति में इस परिभाषित:
chars: {8:"Backspace",9:"Tab",13:"Enter", ...etc... };
:
static keys: { [name: string]: number; } = { "Backspace": 8, "Tab": 9, "Enter": 13, ... etc.. };
यह ठीक से काम करने लगता है, हालांकि कोड के किसी अन्य भाग विपरीत मानचित्रण का उपयोग करता है
इसलिए मैंने टाइपस्क्रिप्ट में उसी प्रकार की परिभाषा करने की कोशिश की जो मैंने पहले किया था:
chars: { [code: number]: string; } = { 8: "Backspace", 9: "Tab", 13: "Enter", ...etc.. };
यह निम्न त्रुटि के साथ संकलित करने के लिए विफल रहता है:
Cannot convert '{ 0: string; 1: string; 2: string; 4: string; 8: string; 9: string; : string; }' to '{ [name: number]: string; }': Index signatures of types '{ 0: string; 1: string; 2: string; 4: string; 8: string; 9: string; : string; }' and '{ [name: number]: string; }' are incompatible
मैं टाइपप्रति में इस मानचित्रण कैसे परिभाषित करते हैं?