मैं हमेशा झंडे के साथ टाइपस्क्रिप्ट संकलित करता हूं --noImplicitAny। यह समझ में आता है क्योंकि मैं चाहता हूं कि मेरे प्रकार की जाँच यथासंभव तंग हो।
मेरी समस्या यह है कि निम्नलिखित कोड के साथ मुझे त्रुटि मिलती है Index signature of object type implicitly has an 'any' type:
interface ISomeObject {
firstKey: string;
secondKey: string;
thirdKey: string;
}
let someObject: ISomeObject = {
firstKey: 'firstValue',
secondKey: 'secondValue',
thirdKey: 'thirdValue'
};
let key: string = 'secondKey';
let secondValue: string = someObject[key];
ध्यान रखना महत्वपूर्ण है कि यह विचार है कि कुंजी चर अनुप्रयोग में कहीं और से आता है और वस्तु में कोई भी कुंजी हो सकती है।
मैंने स्पष्ट रूप से टाइप करके कास्टिंग करने की कोशिश की है:
let secondValue: string = <string>someObject[key];
या मेरा परिदृश्य अभी संभव नहीं है --noImplicitAny?