TypeScript タプルの型推論改善
以下のような配列はタプル としてではなく、配列として型推論されます。
let a = //a は (number | boolean) を推論したい場合、レストパラーメータを活用する方法があります。function tu ...
TypeScript {}について
{}という型は一見すると空のオブジェクトを指すように見えますが、これはnull以外のすべての型を意味します。
Object型も同様です。
これは非常に誤解を生みやすく、落とし穴であるため、使用しないことが強く勧 ...
TypeScript 変数に再割り当てするときに型が拡大することを防ぐ方法
TypeScriptでは変数に再割り当てすると、型が拡大されて推論されます。
どういうことか見てみましょう。
const a = 'x'//aの型は'x'let b = a//bの型は ...
TypeScript enumの逆引きの落とし穴
TypeScriptのenumは落とし穴がいくつかあり、利用することを控えた方が良いとされていますが、今回は逆引きについてです。
例です。
enum MyEnum { 'Hoge', 'Foo ...
TypeScript const enum と enum の違い
enum の場合、JavaScriptに変換されると以下のような少し理解しづらいオブジェクトになります。
enum MyEnum { 'Hoge', 'Foo', 'Bar'}co ...
TypeScript tsconfig.jsonが効かない
tsconfig.jsonの設定が反映されない問題が発生したのですが、理由はtscコマンドにコンパイル対象のファイルを指定していたためでした。
以下のような場合、tsconfig.jsonは無視されます。
tsc i ...
TypeScript 入門 配列のいずれかの要素を受け取る関数
例えば以下のような配列があり、
この配列の要素のいずれかを引数に受け取る関数を定義したいとします。
const f1 = (value: V) => {//do something}Vの型の定義は以下にな ...
TypeScript 入門 Push型を定義する
配列に要素を追加するような型を定義します。
type Push<T extends unknown使い方。
type T1 = Push<, 3>//type T2 = Push<, ' ...
TypeScript 入門 Include型を定義する
配列の中に、指定した値があれば true、そうでない場合はfalseを返す型です。
type Includes<T extends readonly any ? true : false
TypeScript入門 二つの配列の型を足した型を返す
二つの配列の型を足したConcat型を定義します。
type Concat<T extends unknown> =TとUは、どちらも配列型と互換性があることがポイントです。