TypeScript ネスト的な型
type MyObj<T> = { : Record<P, MyObj<T>> | undefined}type Hoge = MyObj<{hoge: string}>const a: Ho ...
JavaScript/TypeScriptの非同期処理を順番に実行する関数
非同期処理を実行する関数を配列で渡して、その関数を順番に実行する。reject された場合はfalse、すべて resolve だった場合は true を返す。resolve 時に返される値は void とする
const pi ...
TypeScript がジェネリック型を推論する流れ
type MyEvent<T> = { target: T type: string}function triggerEvent<T>(event: MyEvent<T>){//...}triggerEv ...
TypeScript ジェネリック型は関数の引数から推論する
以下のようなコードはコンパイルエラーになります。
const promise = new Promise(resolve => resolve(45))promise.then(result => result * ...
TypeScript 完全な型シグネチャ
オーバーロード以外で、完全な型シグネチャを使用するケースです。
以下のように関数にプロパティがある時に、その関数のシグネチャとプロパティ(wasCalled)を完全な型シグネチャで表現します。
WarnUser ...
TypeScript オーバーロード
オーバーロードされた関数のシグネチャを宣言した後に、実装ではそれらのシグネチャを結合する。
type Reservation = { code: string dest?: string}//Reserve には、出発日、到着日 ...
TypeScript 可変長引数に安全に型付気する方法
number 型の複数の引数をとる関数は以下のように … を使って定義します。
const myFunc = (...number: number
TypeScript strictNullChecks は有効にしよう
strictNullChecks が true だと以下のようなコードはコンパイルエラーになります。
const users = const firstActiveUser = users.find(u => u.acti ...
nodemon + ts-node でコードが変更されたら自動で再実行する
nodemon + ts-node を使うことで、tsファイルが変更されると自動で再実行することできます。
これに関して結構記事もあるのですが、nodemon.jsonを作ってその中にexecを指定する方法が紹介されている ...
TypeScript enumの落とし穴 その2
TypeScript の enum の落とし穴その2です。
こちらはそんなに知られていないのと、あまりこの機能を利用されることはないと思うので重要度は低めです。
enum では逆引きができます。
enum ...