Java Script 変数とデータ型

変数宣言

const(基本はこれ)

JavaScript
const count = 10;
  • 再代入不可
  • ただし 中身がオブジェクトの場合は変更可能
  • 意図しない書き換えを防げる

👉 「再代入しない」変数はすべて const が原則

let(必要なときだけ)

JavaScript
let total = 0;
total = total + 1;
  • 再代入が必要な場合に使用
  • ループカウンタ、状態管理など

👉 「後で値が変わる」と分かっている場合のみ使用

var(現在は使わない)

JavaScript
var x = 10;
  • スコープが曖昧
  • 意図しない上書きが起きやすい

👉 理由がない限り使用禁止

データ型の分類

プリミティブ型(値そのもの)

説明
number数値(整数、小数)
±2^53-1まで扱うことができる
10, 3.14
string文字列型
シングル「’」、ダブル「”」クォートで囲む
バッククォート「`」と文字列の中の変数などを展開できる
’abc’
boolean真偽値true, false
undefined定義されていない
null値が存在しない
symbol他の変数や文字列、数値などのデータと絶対同じにならない、
ユニークが保証されたデータ型
(通常は使わない)
bigintnumberで扱えない大きい又は小さい数値
整数のみ
計算は、bigint同士のみ
123n

代表的なオブジェクト型(参照)

説明
objectプロパティと呼ばれる
参照するためも「名前」と「値」がセットになったデータを
複数保持
{}
{名前1:値1,
名前2:値2,
名前3:値3,
}
array配列[]
function関数function(){}
date日付を扱うオブジェクトnew Date()

「falsy」と判定される値一覧

  • 条件式で false として扱われる 特別な値
説明
false論理値の false
0数値のゼロ(0, 0.0, 0x0 など)
-0マイナスゼロ
0nBigInt のゼロ
“”空文字列(” や “ も含む)
null値が存在しない
undefined未定義
NaN数値ではない
document.all唯一の falsy なオブジェクト
  • これ以外は全部 truthy(true とみなされる)
    • "0"(文字列のゼロ)
    • "false"(文字列)
    • [](空配列)
    • {}(空オブジェクト)
    • function(){}(関数)

プリミティブ型とオブジェクト型の違い

観点プリミティブ型オブジェクト型
string, number, boolean, null, undefined, symbol, bigintObject, Array, Function, Date など
性質不変(immutable)可変(mutable)
代入値渡し参照渡し
比較値を比較参照(アドレス)を比較
メモリスタックヒープ
メソッドラッパーが一時生成される直接メソッドを持つ

データ型を確認する

書式

typeof 調べたいデータ

VB
    let test='あいうえお'
    console.log (typeof test); //string

    test=123
    console.log (typeof test); //number

    test=123n
    console.log (typeof test); //bigint

    test=[1,2,3]
    console.log (typeof test); //object

    test={a:1,b:2}
    console.log (typeof test); //object

オブジェクト型のデータの詳細

書式

調べたいデータ instanceof オブジェクトの種類

VB
    let test=[1,2,3]
    console.log (test instanceof Array); //true

    test={a:1,b:2}
    console.log (test instanceof Array); //false

    test={a:1,b:2}
    console.log (test instanceof Object); //true

コメント