TypeScript_変数

TypeScriptの変数

変数の宣言

TypeScriptでは、変数宣言時に型を指定します。


var 変数: 型;
var 変数: 型 = 値;

スコープ

JavaScriptのvarは、グローバル変数に近い動作をします。

Typescriptでは、変数の定義に「let」と「const」が用意され、それぞれブロックスコープ、定数として使用することができます。


const message: string = 'type script'; // 定数
let num: number = 5;                   // ブロックスコープ
var isEnabled: boolean = true;         // namespace or global

プリミティブ型

プリミティブ型

Typescriptのプリミティブ型は、Number, Boolean, String, Null, Undefined, Voidが用意されています。


var x: number = 0;
var x = 5;

var s: string = "";
var s= "ts";

var b: boolean = false;
var b = true;

nullとundefined

Typescriptでは、nullとundefinedが定義できます。

undefinedは、変数を宣言時に初期値を与えていない場合に定義されます。

nullは変数をを宣言時に初期値として空状態にセットしておく場合に代入します。


let val: object;
if (!val) {
  console.log('val is undefined!');
}

val = null;
if (!val) {
  console.log('val is null!');
}

void型

voidは関数の戻り値型として定義します。

関数の戻り値が無いことを明示するための用途であり、変数としての定義はできません。


配列型

配列の作成には括弧を使ったリテラル記法か、new演算子を使います。

2次元配列も作成可能です。


let str_array: string[] = ['A','B','C'];
console.log(str_array[0]); // A

let num_array: number[] = new Array(5);
num_array[0] = 123;
console.log(num_array); // [ 123, <4 empty items> ]

let two_dim_array:number[][] = [[1,2,3],[4,5,6]];
console.log(two_dim_array);

タプル型

タプルは、異なる型の配列を定義する場合に利用します。


let tuple: [string, number, boolean];
tuple = ['ts', 10, true];
console.log(tuple);

オブジェクト型

JSONデータはオブジェクト型で定義します。


let userinfo: object = {};
userinfo = {
  'username': 'user01',
  'password': 'pass01',
  'auth': true,
};
console.log(userinfo['password']);

要素の型を指定することもできます。


let record: {[key: string]: string} = {'a1': '123', 'a2': '456'};
console.log(record['a1']);

any型

any型は型指定しない変数を定義するために利用します。

変数に文字列でも、数字でも自由に入れることができますが、コンパイラーの型チェックなどが効かなくなるので注意が必要です。

any型はライブラリを使用した際に、型定義ファイルが無い場合などに使用します。


let tmp: any = null;

tmp = 1234
document.write('<p>' + tmp + '</p>')

tmp = "abc"
document.write('<p>' + tmp + '</p>')

enum

列挙型enumは、数値に識別子を与えます。


enum Index {zero, one, two}
console.log(Index); // { '0': 'zero', '1': 'one', '2': 'two', zero: 0, one: 1, two: 2 }
let id: Index = Index.one;

エイリアス

Typescriptでは型名にエイリアス(別名)を設定することができます。


type 名前 = 型名


関連ページ