0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【JavaScript】変数と参照の振り返り① let,var,constの違いとデータ型

Last updated at Posted at 2021-10-07

#はじめに

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じゃない)

今日はここまで!

#参考にさせて頂いた記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?