/ FRONTEND

클린코드 자바스크립트 1-3 변수 다루기(호이스팅)

Clean Code JS 강좌는 여러 절로 구성되어 있습니다.

변수 다루기 😎

호이스팅 👍

  • 런타임시 선언과 할당이 분리되는 것
  • 런타임시 선언이 최상단으로 끌어올려진다.
  • var 경우, 할당이 제대로 되지 않았을 때, 선언했다면 undefined
var global = 0;
function outer() {
  console.log(global); // undefined
  var global = 5;

  function inner() {
    var global = 10;
    console.log(global); // 10
  }
}
inner();

global = 1;

console.log(global); // 1

outer();
function duplicatedVar() {
  var a;
  console.log(a); // undefined
  var a = 100;
  console.log(a); // 100
}
console.log(duplicatedVar()); // undefined
var sum;

console.log(typeof sum); // functon
console.log(sum); // 3
function sum() {
  return 1 + 2;
}
  • const를 사용해 함수를 만들고 할당하는 방식(함수 표현식)을 추천
console.log(sum()); //error
const sum = () => {
  return 1 + 2;
};

호이스팅 문제 😫

  • 코드 작성시 예측과 실행이 다른 문제가 생긴다.
  • var 사용 X > let,const 지향
  • 함수 조심 > 함수 표현식 사용