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?

JavaScript 〜JavaScriptの変数について〜

Last updated at Posted at 2024-05-25

JavaScriptの変数の型の一覧

var myVar;            // 定義なし
var myVar = "Hello";  // 文字列
var myVar = 42;       // 数値
var myVar = true;     // boolean
var myVar = null;     // null
var myVar = {};       // オブジェクト
var myVar = [];       // オブジェクト(配列)
var myVar = function() {};  // 関数
var myVar = Symbol(); // symbol

Symbolについて

一意の値を表す。
以下のソースコードのように値が同じでもifではfalseの判定がされる。

let string1 = Symbol('文字列です');
let string2 = Symbol('id');
console.log(string1 === string2); // false

varとletの違い①

var:
関数の中で宣言された場合、その関数の中でのみ有効。
ブロック(ifやforなど)の中で宣言されても、そのブロックの外でもアクセス可能。
 
let:
ブロック({})内で宣言された場合、そのブロック内でのみ有効。

if (true) {
    var x = 1;
    let y = 2;
}
console.log(x); // 1 (varはブロック外からもアクセス可能)
console.log(y); // ReferenceError (letはブロック外からアクセス不可)

varとletの違い②

var: 同じスコープ内で再宣言が可能。
let: 同じスコープ内で再宣言ができない。同じ変数名を再び使うとエラーが発生する。

var a = 1;
var a = 2; // 問題なく再宣言可能

let b = 1;
let b = 2; // SyntaxError: Identifier 'b' has already been declared

varとletの違い③

var:
変数宣言がスコープのトップに巻き上げされる。
初期化は元の位置で行われる。「

let:
宣言前にアクセスするとエラーが発生する。

console.log(c); // cは3→2024/05/27修正 undefinedが正しい。
var c = 3;

console.log(d); // ReferenceError
let d = 4;

0
0
2

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?