TypeScript

例えばHTMLのbuttonを拡張したボタンコンポーネントを作成したい場合に、もともとのbuttonが受けとることができるPropsと独自のPropsを定義したい。

もともとのbuttonが受け取るPropsにはonCha ...

TypeScript

xxxx.d.ts というファイルは型定義ファイルです。

このファイルには型のみが記載されており、実装は書かれていません。

tsc はこのファイルの中をみて、どのような関数や変数が使われるのかを知ることができま ...

JavaScript, TypeScript

例えば、以下のような数値を更新する関数があるとします。

const increment = (num: number) => num + 1const double = (num: number) => num * ...

TypeScript

以下のような配列はタプル としてではなく、配列として型推論されます。

let a = //a は (number | boolean) を推論したい場合、レストパラーメータを活用する方法があります。

function tu ...

TypeScript

{}という型は一見すると空のオブジェクトを指すように見えますが、これはnull以外のすべての型を意味します。

Object型も同様です。

これは非常に誤解を生みやすく、落とし穴であるため、使用しないことが強く勧 ...

TypeScript

TypeScriptでは変数に再割り当てすると、型が拡大されて推論されます。

どういうことか見てみましょう。

const a = 'x'//aの型は'x'let b = a//bの型は ...

TypeScript

TypeScriptのenumは落とし穴がいくつかあり、利用することを控えた方が良いとされていますが、今回は逆引きについてです。

例です。

enum MyEnum { 'Hoge', 'Foo ...

TypeScript

enum の場合、JavaScriptに変換されると以下のような少し理解しづらいオブジェクトになります。

enum MyEnum { 'Hoge', 'Foo', 'Bar'}co ...

TypeScript

tsconfig.jsonの設定が反映されない問題が発生したのですが、理由はtscコマンドにコンパイル対象のファイルを指定していたためでした。

以下のような場合、tsconfig.jsonは無視されます。

tsc i ...

TypeScript

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

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

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

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