unknown型の使い所
any型の型安全版
任意の値を代入できる点でany型と一緒だが、any型と違ってプロパティもプロトタイプメソッドを持たない(下記コード参照)
code:typescript
const str = {"id": 1, "username": "patty"}; const user: unknown = JSON.parse(str);
console.log(user.id, user.address.zipCode);
// error TS2339: Property 'id' does not exist on type 'unknown'.
// error TS2339: Property 'address' does not exist on type 'unknown'.
値の方を特定する処理を書くことによって型安全を保証できる(型ガード)