0
私の目標は、typescript文字列列挙型の属性を持つオブジェクトを持つことです。Typescriptのインデックスシグネチャパラメータタイプの列挙型
type PARAM = "long-parameter" | "long-parameter2";
const PARAM = {
param1: "long-parameter" as PARAM,
param2: "long-parameter2" as PARAM,
}
var f = function(params:{[id:PARAM]:number}){}
f({ //must be valid
[PARAM.param1]:1,
});
f({ //should display error
"asdas":1
});
問題がvar f = function(params:{[id:PARAM]:number}){}
リターンエラーAn index signature parameter type must be string or number.
が、その周りにどのような方法があることはありますか?
- '1'は、文字列値ではありません '長いparameter'または'長期parameter2'をインタフェースの値は 'PARAM'に設定されています...なぜ' f({[PARAM.param1]:1}) 'が正常にコンパイルされますか? –