TypeScript

例えば以下のような配列があり、

この配列の要素のいずれかを引数に受け取る関数を定義したいとします。

const f1 = (value: V) => {//do something}

Vの型の定義は以下にな ...

映画

佐藤浩市が好きなのとAmazon Primeで見れたので、見てみました。

内容をものすごく簡潔にいうと、三人の登場人物が村八分のような状態になって、それぞれ不幸になっていくという悲しいお話でした。

これをみると ...

TypeScript

配列に要素を追加するような型を定義します。

type Push<T extends unknown

使い方。

type T1 = Push<, 3>//type T2 = Push<, ' ...

TypeScript

配列の中に、指定した値があれば true、そうでない場合はfalseを返す型です。

type Includes<T extends readonly any ? true : false

TypeScript

二つの配列の型を足したConcat型を定義します。

type Concat<T extends unknown> =

TとUは、どちらも配列型と互換性があることがポイントです。

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 ...