TypeScript

TypeScriptを使う場合は、普通は設計である型を先に定義し、それを元に実装をします。

しかし、逆に実装から型を作った方が良いケースもあります。そういう場合は typeof を使います。

type T1 = &# ...

TypeScript

TypeScriptの少し変わった書き方です。

タプル型から、要素のユニオン型を作成します。T1のところがミソです。

type T1 = type T2 = T1//"hoge" | " ...

TypeScript

以下のような型があるとします。

type T1 = {name: string} & string

T1 は never にはなりません。

一見すると、name というプロパティを持つオブジェクト、かつ、文字列と ...

TypeScript

関数の引数でオブジェクトを受け取り、そのオブジェクトの特定のプロパティの値を変更してオブジェクトを返す関数を考えてみます。

type T1 = { name: string age: number favor: { name: ...

TypeScript

配列のeveryを使うときに、型を狭めてほしいところで、TypeScriptがうまく推論してくれないことがあります。

const numbersOrStrings: (number | string);if(numbersOrS ...

人生

各酪農家でできた牛乳は農協に送られます。

そして、農協では各酪農家の牛乳を均一になるように混ぜます。

それをメーカーに売ります。

おいしい牛乳をつくる酪農家もいればそうでない酪農家もいます。 ...

人生

お米の四分の一は無料で流通しているそうです。

これは、お金を払わずにお米を手に入れている人が全体の四分の一存在するということになります。

無料で手に入れている、というのはどういうことか。

おそらく、 ...

人生

水が綺麗で癒された。川遊びもした。

長野県の大桑村にある阿寺(あてら)渓谷にいってきました。

阿寺渓谷にある昔使われていた森林鉄道

阿寺渓谷の水は透き通るようなブルーでとてもきれいでした。

上の写真はあまりブルーで ...

TypeScript

主に unknown な値をオブジェクト型に狭めて、その後に特定のプロパティにアクセスしたい場合の話。

const hasProp = <K extends PropertyKey>(data: object, pr ...

JavaScript, TypeScript

残念ながら現在の実装ではio-tsでErrorオブジェクトをバリデーションすることはできない。

以下のissueが起票されているので、こちらをモニタリングする。