#はじめに
Udemyの【JS】ガチで学びたい人のためのJavaScriptメカニズムの講座の振り返りです。
前回の記事
#目的
- 変数についての理解を深める
#本題
###1.let, var, constの違い
| | version | 再宣言 | 再代入 | スコープ | 初期化 |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| let | ES6~ | ✗ | ◎ | ブロック | ✗ |
| var | | ◎ | ◎ | ブロック |undifined|
| const | ES6~ | ✗ | ✗ | 関数 | ✗ |
再宣言:もう一度変数として宣言する
再代入:一度設定した値を変更できるか
スコープ:varだけ関数スコープが生成
初期化:ホスティングのこと(varはundified)と表示される
以下VSコードで確認していきます。
// 再宣言
// letやconstは再宣言不可(エラーになる)
let a = 0;
let a = 0;
// varは可能(b=1と表示される)
var b = 0;
var b = 1;
// 再代入
// 以下0ではなくcに1を入れ直す
let c = 0;
c = 1;
// constは再代入できない(定数?)
const d = 0;
d = 1;
// スコープ
// constやletの場合はブロックスコープが有効
{
// 出力できない
let e = 0;
// varはブロックスコープが無視される
var f = 0;
}
// ブロックスコープ外で書いても一緒
var f = 0;
// 初期化
// 宣言をする前に値を取得しようとすると
console.log(h);
// letはエラーになる
let g = 0;
// varは初期値がundifinedなのでそのまま出力される(エラー発生しない)
var h = 0;
// varは非推奨
// ごちゃまぜにすると混乱する
###2.変数とデータ型
JavaScriptのデータ型
型 | 英名 | 例 |
---|---|---|
真偽値 | Boolean | true/false |
数値 | Number | 1,2,3,,,, |
文字列 | String | "HelloWorld" |
undifined | Undifined | |
null | null | |
シンボル | Symbol | 一意の値 |
BigInt | BigInt | 12n |
オブジェクト | Object | {a:'value'} |
数値がNumberなの注意(intじゃない)
今日はここまで!
#参考にさせて頂いた記事