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
댓글남기기