変数宣言
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 | 他の変数や文字列、数値などのデータと絶対同じにならない、 ユニークが保証されたデータ型 (通常は使わない) | |
| bigint | numberで扱えない大きい又は小さい数値 整数のみ 計算は、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 | マイナスゼロ |
| 0n | BigInt のゼロ |
| “” | 空文字列(” や “ も含む) |
| null | 値が存在しない |
| undefined | 未定義 |
| NaN | 数値ではない |
| document.all | 唯一の falsy なオブジェクト |
- これ以外は全部 truthy(true とみなされる)
"0"(文字列のゼロ)"false"(文字列)[](空配列){}(空オブジェクト)function(){}(関数)
プリミティブ型とオブジェクト型の違い
| 観点 | プリミティブ型 | オブジェクト型 |
|---|---|---|
| 例 | string, number, boolean, null, undefined, symbol, bigint | Object, 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

コメント