Javascript Essentials 1

깔끔하고 안전하게 리액트 코드를 작성할 수 있도록 자바스크립트, 특히 ES6 문법 중 자주 다루게 되는 부분들을 알아봅시다.

[변수] var를 지양하고, let과 const를 사용하자

var의 문제점 1 : 재선언과 재할당이 모두 가능하다

var name = '찰스';
var name = '김보인';

console.log(name);
// 결과 : 에러가 발생하지 않고, '김보인'이 출력됨

var의 문제점 2 : 함수 스코프(function scope)를 따른다.

var global = '전역';

if (global === '전역') {
    var global = '지역';
    console.log(global); // '지역'이 출력됨
}
console.log(global); // 전역변수가 오염되어 '지역'이 출력됨

var의 문제점 3 : 호이스팅 시 undefined로 변수를 초기화한다.

호이스팅(hoisting)이란?

선언과 초기화를 분리한 후, 스코프 내 선언들을 모두 스코프의 최상위로 끌어올리는 것. 크게 변수 호이스팅과 함수 호이스팅으로 나뉜다.

참고자료

let은 재선언은 불가, 재할당은 가능! const는 둘 다 불가

const는 변수에 값을 재할당한느 것은 안되지만

객체, 배열 등 레퍼런스 객체 내부의 값을 조정하는 것은 가능.

let과 const는 블록 스코프(block scope)를 따름

let과 const는 변수 호이스팅 불가

Last updated