4.2「TypeScriptハンドブック」シリーズは、TypeScript公式サイト「Handbook」の構成に沿って型について解説します。邦訳ではなく、各項目の内容を改めて説明し直しました。Types」のページから以下の項目をとりあげます(かっこ内は原文の項目タイトル)。もとのページは長くて、読み終える前に力尽きそうです。そこで、このシリーズではページを分けることにしました。stringとnumberおよびbooleanMDN「Primitive(プリミティブ)」は、つぎのように説明します。JavaScriptにおいて、プリミティブ(primitive、プリミティブ値、プリミティブデータ型)はオブジェクトでなく、メソッドを持たないデータのことです。その中でも、よく使われる3つのプリミティブ値の型を、TypeScriptはつぎのように定めます。型の名前は、JavaScriptコードのtypeof演算子で値を調べたときの戻り値と同じです。文字列の値を示す型です。四則演算のできる数値を型づけます(NaNはnumber型ではあるものの、数値演算の対象に含めると、結果はつねにNaNです)。JavaScriptでは、整数と浮動小数点数は区別されず、ともにnumber型になります。trueかfalseか、二値のいずれかを示す論理値です。配列(Array)配列には要素の型が決められます。つぎの構文が、その場合の定めです。要素の型[]たとえば、数値や文字列を要素とする配列は、つぎのように型づけします。割り当てることはできません。3];同じ配列の型をジェネリック(T<U>)で与えたのが、つぎのコード例です。ジェネリックについて詳しくは、「Generics」をご参照ください。配列の角かっこ[]の中に要素それぞれのデータ型を定めるのは、タプルという別の型の構文です。destructuring」をお読みください。割り当てることはできません。割り当てることはできません。anyanyはTypeScritpが値の型について発するエラーを鎮める特別な型です。データ型どころか、プロパティやメソッドの存在さえ問いません。JavaScriptの構文が間違っていないかぎり、参照や代入も自由です。言い換えれば、その値についてはTypeScriptが働かなくなります。つぎのコードがその例です。本来示されるエラーが出ることはなく、素のJavaScriptコードと同じように実行されます。この式は呼び出し可能ではありません。呼び出しシグネチャがありません。割り当てることはできません。割り当てることはできません。point;ちょっと試してみるコードに、TypeScriptの長々とした型定義を省きたいといった場合などに使えるでしょう。実際に使うことが決まってから、きちんとした型づけをすれば済みます。型を定めず、TypeScriptも文脈から推論できなかったとき、デフォルトではanyとして扱われます。anyと推論された値には、TypeScriptの型チェックが働きません。anyへの暗黙的な推論を避けるには、noImplicitAnyのフラグを定めてください。推論される型がanyとなるとき、エラーを示します。