TypeScript

3つのジェネリクス(C、T、F)を受け取り、CがtrueならTを、falseならFを返す。

type If<C extends boolean, T, F> = C extends true ? T : F

Cは ...

TypeScript

Promise<string>であれば、string を返すような型を考える。

inferを使うことで可能です。

type Await<T> = T extends Promise<infer ...

TypeScript

Excludeは以下のように実装されています。

type MyExclude<T, U> = T extends U ? never : T

これを使ってみると

type T1 = MyExclude< ...

未分類

タプル型を渡すとその型のlengthを返す型です。

type Length<T extends any;

Tが配列であれば、lengthというプロパティがあることが保証されるので、上記ようにTとすることができます。

TypeScript

配列の最後の要素の型を取得する方法です。

type Last<T extends any ? U : nevertype T1 = Last<>//numbertype T2 = Last<>//n ...

TypeScript

であれば string を、 であれば boolean を返すような型を作ります。

はじめに思いついたのが以下です。

type First<T extends any

とてもシンプルなのですがひとつ問題が ...

TypeScript

配列の中の要素の型を取得する場合はT1のようにします。

以下が例です。

type T1 = Array<string>type T2 = T1//T2 は stringtype T3 = Array< ...

TypeScript

指定したキーを削除した型を返したい場合はOmitを使います。

type User = { firstName: string lastName: string age: number}type T1 = Omit<User ...

TypeScript

Variadic tuple typesを使用したサンプルです。TypeScript4.0以降にする必要があります。

例えば、任意のstringを受け取るが、最後の引数だけはnumberを受け取る関数を定義してみます。

プログラミング入門

プルリクを出す時に、レビュアーがわかりやすいように、自分でコメントを書いて補足してしまうことがあったのですが、そのコメントはPRが消化された後はコード上には残りません。

もし、コメント書かないと意図が伝わらないのでは?と感 ...