2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual Studio 2017 ではじめるTypeScript(3) ~基本的な型~

Last updated at Posted at 2018-12-20

はじめに

TSで使用する基本的な型の説明をします。
あくまでも基本的な型のみなので、他の型も知りたい場合は別の記事を読むことをおすすめします。

プリミティブ型

  • boolean:真偽値(truefalse
  • 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",
}

変数

変数の宣言はvarletconst の三種類がある。

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"; // エラー

変数宣言

  • 宣言には以下の三種類がある。
    1. let 識別子 : = ;
    2. let 識別子 : ;
    3. let 識別子 = ;
let hoge: string = "hoge";
let hoge: string;
let hoge = "hoge";

おわりに

今回は本当に基本的な型を説明しました。他にもタプル型などありますが、いきなり全ては覚えられないので、連載中に使うことがあれば、随時更新したいと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?