Javscript : 알쓸신잡(알아두면 쓸모있는 신기한 잡아스크립트) - ES6

알쓸신잡(알아두면 쓸모있는 신기한 잡아스크립트) - ES6

알쓸신잡(알아두면 쓸모있는 신기한 잡아스크립트) ES6편입니다.

단순히 제 주관으로 판단하고 작성하는 글이기 때문에 가이드가 될 수는 없으니 주의해주시면 감사하겠습니다 :star2:

ES6 란?

  • ECMAScript 2015와 동일한 용어
    • 2015년은 ES5(2009년)이래로 진행한 첫 메이저 업데이트가 승인된 해
    • ES5 다음에 업데이트 되어서 이름이 ES6가 되었음
  • 최신 Front-End Framework인 React, Angular, Vue에서 권고하는 언어 형식
  • ES5에 비해 문법이 간결해져서 익숙해지면 코딩을 훨씬 편하게 할 수 있음

Babel이란?

  • ES6의 문법을 각 브라우저 호환 가능한 ES5로 변환하는 transpiler
    • 구 버전 브라우저 중에서는 ES6의 기능을 지원하지 않는 브라우저가 있으므로 transpiling이 필요

transpiling : 특정 언어로 작성된 소스 코드를 다른 소스 코드로 변환하는 것. 입력과 출력의 추상화 수준이 비슷함 ex) typescript → Javascript, C++ → C, CoffeScript → Javascript

호이스팅(Hoisting)이란?

  • 선언한 함수와 변수를 해석기가 가장 상단에 있는 것 처럼 인식하는 것
  • js 해석기는 코드의 라인 순서와 관계없이 함수선언식과 변수를 위한 메모리 공간을 먼저 확보하게 됨
var sum = 5;
sum = sum + i;

function a() {
    // ...
}

var i = 10

위 코드는 에러가 발생할 것 같지만 자바스크립트의 호이스팅으로 인하여 정상 실행됩니다. 그 이유는 아래 코드 처럼 function a()와 var는 코드의 최상단으로 끌어 올려진 것(hoisted) 처럼 실행되기 때문입니다.

// 1 - 함수 선언식과 변수 선언을 hoisting (메모라 공간 확보)
var sum;
function a() {
    // ...
}
var i;

// 2 - 변수 대입 및 할당
sum = 5;
sum = sum + i;
i = 10

참고 : Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex

[Transpile] Transpile, 트랜스파일링(Transpiling)

댓글남기기