Language/javascript

[JavaScript] 변수의 선언 / 변수와 상수 / var, let, const / Scope / Hoisting

다닿 2023. 10. 13. 13:53

변수 선언

var myVar;

변수 할당 ( 선언된 변수에 값을 넣어줌 )

myVar = "Hello";

 변수 초기화 (변수 선언시 값을 할당) 보통은 변수의 선언과 할당을 동시에 한다.

var myVar2 = "Hello World!";

변수 참조 (선언한 변수를 불러 사용하는 것)

var myVar3 = "hi";
var myVar4 = myVar3;	// myVar3를 참조
console.log(myVar3);	// myVar3를 참조

변수 : 변할 수 있음

상수 : 항상 일정한 값을 가지고있음


var letconst 의 차이점

var myVar = 0;
var myVar = 1;		// -- 중복 선언 가능
myVar = 2;		// -- 선언 후 대입 가능
let myLet = 0;
// let myLet = 1;	// -- 중복 선언 불가능
myLet = 2;		// -- 선언 후 대입 가능
// const myConst;	// 초기값 없이 선언 안됨
const myConst = 0;
// const myConst = 1;	// -- 중복 선언 불가능
// myConst = 2;		// -- 선언 후 대입 불가능

var와 let으로 선언된 것은 값을 바꿀수 있다. (변수임)

const로 선언된 것은 값을 바꿀수 없다. (상수)


 

Scope

변수에 영향력을 행사하는 범위이다. 지역변수, 전역변수를 예로 들수 있다.

전역 스코프(Global Scope)는 전역에 선언되어있어 어느 곳에서든지 해당 변수에 접근할 수 있다.

지역 스코프(Local Scope)는 해당 지역에서만 접근할 수 있다.


Hoisting

호이스팅이란 모든 선언문이 해당 Scope의 선두로 옮겨진 것처럼 동작하는 특성을 말한다.

문단 아랫단에 변수를 선언을 하여도 문단 가장위에 선언된것으로 간주, 선언했던 구간에서는 값을 할당한 것으로 읽는다.