両方数宣言オプションのプロパティ例:あなたが持つことができるオブジェクトを入力するにはどうすればよい
{hello?: string, moo?: boolean}
だけでなく、カスタムプロパティ(その機能)、例えばなければなりません:
[custom: string]: (v?: any) => boolean
これは私が例えば見たいものです:
const myBasic: Example = {moo: false}
// -> ✅ Valid! Using known keys
const myValid: Example = {hello: 'world', customYo:() => true}
// -> ✅ Valid! "customYo" is a function returning a bool. Good job!
const myInvalid: Example = {hello: 'world', customYo: 'yo!'}
// -> ☠️ Invalid! "customYo" must be a function returning a boolean
既存のキーのインターフェイスにインデックスシグネチャを追加しようとしました。 hello?: string, moo?: boolean
)では、すべてのキーがインデックスシグネチャタイプのサブセットである必要があります(この場合、ブール値を返す関数)。明らかに失敗します。
素晴らしい返信 - これは私が見つけたものに合致しています。私は '[custom:string]:any 'を強制的に使用して型の安全性を失いました。しかたがない! ⚡️ – papercowboy