"'const'列挙型のインデックス式引数は 'string'型である必要があります"
このエラーメッセージは非常にあいまいです。
あるべきだと思われる
「 'const'列挙型のインデックス式引数は文字列リテラルである必要があります」
コンパイラがそうするので:
if (isConstEnumObjectType(objectType) && node.argumentExpression && node.argumentExpression.kind !== SyntaxKind.StringLiteral) {
error(node.argumentExpression, Diagnostics.Index_expression_arguments_in_const_enums_must_be_of_type_string);
}
PRをいただければ幸いです
メッセージは「constenumメンバーは文字列リテラルを使用してのみアクセスできます。」になりました。
誰かが同じ問題を抱えている場合は、「const」を削除してみてください。すべてが正常に機能します。
まあそれは完全に真実ではありません、あなたは次のようなことをしなければなりません:
enum MyEnum{
A, B, C
}
let index = 2;
// this is how you can get the value from the enum without haveing tslint error message.
(<any>MyEnum)[index]
最も参考になるコメント
誰かが同じ問題を抱えている場合は、「const」を削除してみてください。すべてが正常に機能します。
まあそれは完全に真実ではありません、あなたは次のようなことをしなければなりません: