관리 메뉴

java,javascript,android,php,sql,공부용,메모용

const, let, 블록 스코프, 호이스팅 / ES2015 & ES6 - 01 본문

javascript, jQuery & Node.js/Node.js 사용전 자바스크립트

const, let, 블록 스코프, 호이스팅 / ES2015 & ES6 - 01

yy_dd2 2022. 4. 19. 04:12
반응형

onst, let, 블록 스코프, 호이스팅

* 블록 스코프(범위)

if(true) {
    var x = 3;
}
console.log(x);

if(true){
    const y = 3;
}
console.log(y);
// VM333:4 Uncaught ReferenceError: y is not defined

var로 사용한 x는 에러가 없지만

const로 사용한 y를 사용하니 에러가 발생한다

이유는 const는 블록스코프를 가지기 때문에 {} 안에서만 사용이 가능하다

var 는 함수 스코프이다

 

var 대신 cosnt와 let을 사용하면 호이스팅 문제가 해결되고 코드 관리가 수월하다고한다

(호이스팅 : var 로 선언한 변수의 경우 호이스팅 시 undefined 로 변수를 초기화 된다)

 

 

* const와 let의 차이

const a = 0;

a = 1;
// VM382:1 Uncaught TypeError: Assignment to constant variable.


let b = 0

b = 1;
1
const c;
// VM444:1 Uncaught SyntaxError: Missing initializer in const declaration

 

 

const는 상수 : 한번 값을 할당하면 다른 값을 할당할 수 없다.

let은 다른 값을 할당해야하는 상황이 발생 할 때 사용하면 된다.

 

반응형
Comments