1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[JavaScript]変数と定数

Posted at

変数/定数の宣言

// 変数の定義
let 変数名 = ;

// 定数の定義
const 定数名 = ;

// 変数の定義(昔からある方)
var 変数名 = ;

何が違う?

  • let: ブロックスコープ
  • const: ブロックスコープ
  • var: 関数スコープ
if (1 == 1) { // 条件式の判定はtrueなので下記の処理が実行される
    // let の宣言
    let num1 = 0;
    // const の宣言
    const num2 = 1;
    // var の宣言
    var num3 = 2;
}

// 出力
console.log(num1); //=> ブロックスコープの中で宣言されているためエラー
console.log(num2); //=> ブロックスコープの中で宣言されているためエラー
console.log(num3); //=> 2

  • let: 再代入できるが、再宣言はできない
  • const: 再代入も再宣言もできない
  • var: 再代入も再宣言もできる
// 再宣言
let greet = "hello";
let greet = "こんにちは"; //=> エラー

const name = "Mike";
const name = "太郎"; //=> エラー

var age = 12;
var age = 24;

// 出力
console.log(greet); //=> エラー
console.log(name); //=> エラー
console.log(age); //=> 24
// 宣言
let myName = "太郎";
const age = 10;
var money = 1200;

// 再代入
myName = "次郎";
age = 100; //=> エラー
money = 0;

// 出力
console.log(myName);
console.log(age); //=> エラー
console.log(money);

使うのは基本的にconst、再代入が必要ならlet。
varは予期しないバグやエラーの原因となるため、使わないようにしましょう。

参考記事

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?