🌐
JS変数宣言(let,const,var) 、データ型
変数宣言
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