スタートページJavascriptTypeScript
TypeScriptの概要型指定の基本(1)← 型指定の基本(2)→ 型指定の基本(3)型指定の基本(4)

TypeScript 型指定の基本(2)複数の型指定、関数


配列の同一型指定

配列の全要素が数値型であることを指定するには、次のように記述します。

  var array : number[];     // 型に [] をつける。var array[] : number; ではない。
    array = [10, 20, 30];    // OK
    array = [10, 20, 'abc'];  // エラー

tuple

タプルは複数の要素の型指定です。

  1  var x : [string, number]; // [文字列型, 数値型] の二つの要素を持つ
  2  x = ['阿部', 20];         // OK
  3  x = ['阿部', '20'];       // 第2要素が数値型ではない
  4  x =  ['阿部'];            // 2つの要素ではない
  5  x[0] = '井上';            // x[0] は文字列型 OK
  6  x[1] = 21;                // x[1] は数値型 OK
  7  x[1] = '21';              //                エラー

interface

インタフェースは、連想配列(Objectクラス)の要素とその型を定義します。

  1  interface IF会員 {  // インタフェース「IF会員」を
  2      氏名 : string;  //    文字列型の「氏名」
  3      年齢 : number;  //    数値型の「年齢」
  4  };                  // の2つの要素を持つと定義します。
  5  var 会員 : IF会員;     // 変数「会員」がインタフェース「IF会員」型であると定義します。
  6  会員 = { 氏名:'阿部', 年齢:20 };   // OK
  7  会員 = { 氏名:'阿部', 年齢:'20' };  // 年齢の型エラー
  8  会員 = { 氏名:'阿部' };             // 要素「年齢」が存在しない

Inline Type

インタフェースを設定せずに、変数「会員」に直接に指定できます。上の1~5が下のようになります。

  1  var 会員 {
  2      氏名 : string;
  3      年齢 : number;
  4  };

関数の引数と戻り値の型指定

一般形は次の形式になります。
  function 関数名(引数名 : 型, ...) : 戻り値の型 { 処理; ...; return 戻り値 }
戻り値の型は型推論できるのであれば省略できます。戻り値がないときはい場合は戻り値の型 void にします。
オプション引数を省略したときはundefinedになりチェックの対象にはなりません。

  1  function func(x : number) : string {  // 引数 x の型は number、return の型は string
  2      if (x >= 0) var 正負 = '正';      // この段階では「正負」の型指定はない
  3      else 正負 = '負';
  4      return 正負;                      // return の型が string になる
  5  }
  6  var z = func(123);              // OK z = '正' になる
  7  z = func('abc');                // エラー 引数の型が number ではない
  8  var y : number;
  9  y = func(123);                  // エラー 8でyの型は number なのに戻り値の型は string