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로 변수를 초기화한다.
호이스팅은 무조건 나쁜 것일까?
변수 호이스팅은 엄격히 지양된다. 함수 호이스팅과 관련해서는 아래의 예제를 보며 고민해보자.
let은 재선언은 불가, 재할당은 가능! const는 둘 다 불가
let과 const는 블록 스코프(block scope)를 따름
let과 const는 변수 호이스팅 불가
Last updated