var, let, const
9838 ワード
var, let, const
JavaScriptの変数と定数宣言キーワード.
var
->初期JavaScriptは、var
万個の変数宣言のみを使用します.
var特性
var a = "a";
function example() {
var b = "b";
console.log(a); // a 전역변수. 출력가능.
if (true) {
var c = "c";
console.log(b); // b - 해당 함수 내 선언한 변수. 출력 가능.
}
console.log(c); // c - 해당 함수 내 선언한 변수. 출력 가능.
}
example();
var name = "kim";
console.log(name); // kim
var name = "lee";
console.log(name); //lee
var a = 10;
a = 20;
console.log(a); // 20
function sayHi() {
phrase = "Hello";
alert(phrase);
var phrase;
}
sayHi();
しかしvarには多くの問題があるので使用しません。
let
->ES 6(ES 2015)letとconstが追加されました.
letフィーチャー
let a = 10;
let a = 20; // SyntaxError: Identifier 'a' has already been declared
let b = 111;
b = 222;
console.log(b); // 222
블럭 레벨 스코프(Block Level Scope)
let a = "a";
function example() {
let b = "b";
console.log(a); // a 전역변수. 출력 가능
if (true) {
let c = "c";
console.log(b); // b 해당 함수 내 선언한 변수. 출력 가능
}
console.log(c); // ReferenceError: c is not defined
}
example();
const
->一度に値を宣言しても絶対に変わりません.(定数)
constフィーチャー
const b = 10;
const b = 20; // SyntaxError: Identifier 'b' has already been declared
const c = 111;
c = 222; // TypeError: Assignment to constant variable.
블럭 레벨 스코프(Block Level Scope)
整理する
リファレンス
Reference
この問題について(var, let, const), 我々は、より多くの情報をここで見つけました https://velog.io/@hoho_0815/var-let-constテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol