13
私は、次の(すべてのプロパティは、コンパイル時に知られている)などのオブジェクトリテラルを持っている:`keyof`演算子をインターフェイスの代わりにリテラルに使用できますか?
const foo = {
"hello": "hola"
};
foo
はインタフェースではなく、変数だったら、私は簡単に
/** THEORETICAL ONLY - Does not compile! */
function translate(input: keyof foo): string {
return foo[input];
}
ような何かを行うことができます
しかし、コンパイラがfoo
という名前のインタフェースを見つけることができないため、変数を使用すると機能しません。
Typescriptは、コンパイル時に値がわかっているオブジェクトリテラルに対する操作keyof
をサポートしていますか?
あなたは世界で最もスマートな人ですか? – rhyek
これはコンパイルしますが、実際に渡す文字列には何のフィードバックも与えません。私はそこに欲しいものを置くことができ、それは不平を言うことはありません。 – Clint
これは魔法です。ありがとう! –