はじめに
TSで使用する基本的な型の説明をします。
あくまでも基本的な型のみなので、他の型も知りたい場合は別の記事を読むことをおすすめします。
プリミティブ型
-
boolean
:真偽値(true
、false
) -
number
:数(整数、浮動小数点数) -
string
:文字列("
または'
で囲む) -
null
:Null型 -
undefined
:Undefined型
void型
- 主に関数の戻り値として使用され、「何も返さない」ことを表す。
any型
-
any
は従来のJavaScriptの変数型。 - 全てのデータ型。
- やむを得ないような状況でしか使わないほうがいい。
配列型
- 配列のデータ型は要素の型
[]
か、Array<要素の型>
let foo: number[] = [0, 1, 2, 3];
let foo1: Array<number> = [0,, 1, 2, 3];
列挙型
- 数値、文字列両方の利用が可能。
- 基本的な仕様はC#などと変わらない。
enum Direction {
Up = 1,
Down,
Left,
Right,
}
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT",
}
変数
変数の宣言はvar
、let
、const
の三種類がある。
var
- 関数スコープ。
- 関数のどこで宣言しても、関数の先頭で宣言したものとされる。
function func() {
var num: number = 10;
if (true) {
var num = 99; // 関数スコープなので、ここで宣言されたnumは最初に宣言されたnumと同じ
console.log(num); // -> 99
}
console.log(num); // ->99
}
let
- ブロックスコープ。
-
if
for
等の{}
内のブロックのみで使う変数が作れるので、スコープが狭いため、影響範囲を狭めることができる。
function func() {
if (true) {
let num: number = 10;
}
console.log(let); // ブロック外なのでアクセスできないのでエラー
}
const
- 再代入不可能な変数を作る(定数にできる)。
-
let
と同じブロックスコープ
const str: string = "hoge";
str = "fuge"; // エラー
変数宣言
- 宣言には以下の三種類がある。
-
let
識別子
:
型
=
値
;
-
let
識別子
:
型
;
-
let
識別子
=
値
;
-
let hoge: string = "hoge";
let hoge: string;
let hoge = "hoge";
おわりに
今回は本当に基本的な型を説明しました。他にもタプル型などありますが、いきなり全ては覚えられないので、連載中に使うことがあれば、随時更新したいと思います。