typescript
文書の過去の版を表示しています。
TypeScript
Type Gaurd
interface Hoge {
id: number
nyan: string
wang: string
}
function isHoge(arg:unknown): arg is Hoge {
if (arg === null || arg === undefined) return false;
const hoge = arg as Hoge;
return typeof hoge.id === 'number' &&
typeof hoge.nyan === 'string' &&
typeof hoge.wang === 'string'
}
const res = await fetch('https://api.example.com/hoge/1')
const json = res.json();
console.log(json.nyan) // jsonはany型なので、これはエラーになる
if (isHoge(json)) {
console.log(json.nyan); // jsonがHoge型と確認されたのでOK
}
typescript.1642129181.txt.gz · 最終更新: by nullpon