メモ:図解!TypeScriptのツボとコツがゼッタイにわかる本 "超"入門編 (3)


03. 変数とデータ型を学ぼう

01. ES6とは?
ES6 = ES2015
2015年以前のES5からの大幅な仕様変更 = 必須のスキル
2022年6月時点の最新はES13

02. 変数宣言
変数:
let 変数名 = 初期値;
let 変数名;
変数名 = 初期値;
何度でも値の代入可
let total = 2;
total = total + 3;

定数:
const 定数名 = 初期値;
値の再代入は不可

03. データ型
- オブジェクト型
- プリミティブ型
- 文字列型 (string)
ダブルクォートまたはシングルクォートで文字列を囲む
文字列中に同じ引用符が含まれる場合はバックスラッシュをつけてエスケープ
バッククォートで囲むと"テンプレートリテラル"となり改行、${式} の形で式や変数・定数を挿入可
- 数値型 (number)
・小数点可、"999_999_999"のように見やすく記述可
・NaN = 数値でない値 = 文字列から数値への変換ミス時に発生
- 長整数型 (bigint)
・numberの最大値を超えて任意の精度で表現できる
・数値の末尾に "n" を付ける ("2n**53n" = 2の53乗 など)
・少数は使えない
・bigintとnumberは一緒に計算不可
- シンボル型 (symbol)
・Symbol()関数を実行するとm内科医異なる値を生成
- 論理型 (boolean)
・"true"または"false"
・"Boolean型"はオブジェクト型
- undefined
・未定義を表す値
- null
・値が存在しないことを表す値
・プログラマが意図的に使わない限り発生しない

04. 型注釈
変数に代入できるデータ型を指定すること
let 変数名: データ型;

05. 列挙型
enum 列挙型名 {
メンバー1 = 値1,
メンバー2 = 値2,

}
値は省略可能。省略時は0から始まる連番が割り当てられる

使う場合は
列挙型名.メンバー1;
列挙型名.メンバー2;

06. ユニオン型
パイプ記号 "|" で区切ったデータのうち何れかを表す方注釈
let 変数名: データ型1 | データ型2;

let anyNumber: number;
anyNumber = 3.14; // (OK)
anyNumber = 3n; // (NG)
let anyNumber: number | bigint
anyNumber = 3.14; // (OK)
anyNumber = 3n; // (OK)
anyNumber = "3"; // (NG)
列挙型をユニオン型に変換する
例)
enum DayOfWeek {
    Sun,
    Mon,
    Tue,
    Wed,
    Thu,
    Fri,
    Sat
}

type Week = keyof typeof DayOfWeek;
const oneDay: Week ="Fri";  // (OK)
// const oneDay: week = "X";  // (NG) 

07. リテラル型
特定の値だけを代入可能にする
let hello: "おはよう" = "おはよう"; // (OK)
// let hello: "おはよう" = "こんばんは"; // (NG)
ユニオン型と併用
let hello: "おはよう"|"こんにちは"|"こんばんは";
hello = "おはよう"; // (OK)
hello = "こんにちは"; // (OK)
hello = "こんばんは"; // (OK)
hello = "いただきます"; // (NG)
    
リテラル型とプリミティブ型と併用
let yes: "Yes"|true;
let no: "No": false;
let num: number|bigint|null;
let text: string|undefined;
    

08. 型エイリアス
変数名の前に "type" をつけると、プリミティブ型やリテラル型、ユニオン型などに別名をつけることができる
type 型名 = データ型;
type Bool = "True" | "False";


TypeScript

0 件のコメント:

その他の記事