interface User {
name: string | null;
age: number | null;
isMan: boolean | null;
}
↑の時↓を定義する方法
type UserTypes: string | number | boolean | null;
type UserTypes<K extends keyof User> = User[K]
// 例)
interface User {
name: string | null;
age: number | null;
isMan: boolean | null;
}
type UserTypes<K extends keyof User> = User[K]
const display = <K extends keyof User>(val: User[K]) => {
console.log(val)
}
display('戸山香澄')
display (1)
display (false)
display(null)
// Argument of type 'undefined' is not assignable to parameter of type 'string | number | boolean | null'.
display(undefined)
More than 3 years have passed since last update.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme