У меня есть очень простое определение Машинопись для «словаря», который выглядит следующим образом:Машинопись словарь не в состоянии выполнить
interface IDictionary<T> {
[key: string]: T;
}
я затем использовать этот интерфейс в другом определении интерфейса, как так:
interface IGatewayInput {
queryParameters: IDictionary<string>;
body?: string;
}
я тогда есть функция, которая принимает IGatewayInput
:
doSomething(input: IGatewayInput) {
if(input.queryParameters.oauth_token) {
// ....
}
}
но WH Ile я бы ожидать, что словарь, чтобы позволить «queryParameters», чтобы иметь любое значение ключа вместо этого я получаю следующее сообщение об ошибке:
error TS2339: Property 'oauth_token' does not exist on type 'IDictionary'.'
Что я делаю неправильно? Я думал, что мое определение позволит использовать любое ключевое значение на основе строки?
Это приводит к той же ошибке – ken
Я не знаю, как вы тестируете, но этот код определенно должен работать! какую версию компилятора на машинке вы используете? – devlux
vs-code и TS 2.0.9 – ken