Closed11

【20日目】TypeScriptのUtility Typesを読む②

あつたねあつたね

ParametersType<Type>

type ParamsType = Parameters<(a:string,b:number)=>any>

const param:ParamsType = [
    "string",
    1
]

Typeで指定した関数のパラメータの型配列を生成する?

ある関数があって、その関数のパラメータを取り回すときに便利そう?

あつたねあつたね
const list: [number, string, boolean] = tuple();

tupleの型を指定する方法

あつたねあつたね

ReturnType <Type>
Typeに指定した関数の型の返り値の型を生成する

const fn = () => "string"

type FnReturnType = ReturnType<typeof fn> // type FnReturnType = string
あつたねあつたね

InstanceType<Type>

class a {
}

type b = InstanceType<typeof a>

const c:b = new a()

Typeで指定したクラスのインスタンスのTypeを生成する
生成したTypeを使用することで、クラスのインスタンスであることを保証できる

あつたねあつたね

OmitThisParameterType <Type>

TypeからThisを消した型を返す?
よくわからん

あつたねあつたね

Uppercase<StringType>
Lowercase<StringType>
Capitalize<StringType>
Uncapitalize<StringType>

キーのケースを変換できるやつ
便利そう

type UpperCaseType = Uppercase<"a" | "b" | "c"> // UpperCaseType = "A" | "B" | "C"

type CapitalizeType = Capitalize<"aaa" | "bbb" | "ccc"> // CapitalizeType = "Aaa" | "Bbb" | "Ccc"
あつたねあつたね
type user = {
    Name: string,
    Age: number
}

type UserKeys = Uncapitalize<keyof user> // UserKeys = "name" | "age" 
このスクラップは2023/04/30にクローズされました