の内側に失敗し活字タイプのマッピングは、これらの活字体の種類を考えると、一般的な機能
// Data object, holding the form submission
const data: Fields = {
firstName: 'John',
lastname: 'Doe',
e: '[email protected]'
}
// Map validation methods to the data fields
const mapping: Mapping<Fields> = [
'firstName',
'lastname',
{
e: 'email'
}
]
なぜこの作品:
const validationFuncs: Method<Fields>[] = mapping.map(m => {
return typeof m === 'string' ? { [m]: m } : m;
})
// validationFuncs[0].firstName // works
しかしこのdoesnの't?
function validate<T>(mapping: Mapping<T>) {
const validationFuncs: Method<T>[] = mapping.map(m => {
return typeof m === 'string' ? { [m]: m } : m;
})
}
どのタイプのTypeScriptを使用していますか?新しいバージョンでは、いくつかのより厳しいジェネリックチェックが導入されました。 – msanford
Typescript 2.5.3 –