🌐

JS変数宣言(let,const,var) 、データ型

2022/10/12に公開

変数宣言

let (ES6~)
const(ES6~)
var(非推奨)

宣言 再宣言 再代入 スコープ 初期化
let X ブロック X
const X X ブロック X
var 関数 undefined
//再宣言
let a = 0;
let a = 0; //Error

var b = 0;
var b = 22; //OK

//再代入
let c = 0;
c = 1; //OK

const d = 1;
d = 3; //Error


{
 let privateVal = 0; //ブロックスコープが有効
 var publicVal = 0; //グローバル扱い
}

データ型

英名前
真偽値 Boolean true / false
数値 Number 22
文字列 String "test"
undefined Undefined undefined
null Null null
オブジェクト Object {a: 'value'}

そのほかもある

Javascriptの特徴

動的型付け言語

  • 変数宣言の際に型宣言無し
  • 変数を使用する状況によって型が変わる

静的型付け言語

  • 変数宣言の際に型宣言あり
  • 変数は、常に指定した型

暗黙的な型変換

function printType(val) {
  console.log(typeof val, val);
}

let a = 0;
printType(a);

let b = "1" + a;
printType(b);

//--実行結果
number 0
string 10


let c = 20 - b;
printType(c);

//--実行結果
number 10

// null = 0 とされる
// true:1,false:0

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

オブジェクト型以外をプリミティブ型という

プリミティブ型

  • 変数には値が格納される
  • 1度作成するとその値を変更することはできない

Discussion