TypeScriptのオブジェクトの型安全のWeak typeとは
TypeScriptのオブジェクトの型安全にはWeak Typeと呼ばれるものがあります。
例えば、
下記の関数は、全てのプロパティがオプショナルなUser型を引数にとる関数です
type User = {
age?: number
name?: string
}
function regi(user: User() {}
このような場合、部分的でもマッチすれば意図したと判断されます。
// 型にはないプロパティを持つオブジェクト
const maybeuser = {
age:26,
name: '鈴木',
gender: '男'
}
// 一つも型と一致しないオブジェクト
const notuser = {
gender: '男'
live: '東京'
}
regi(maybeuser) //エラーにならない
regi(notuser) //エラー