JavaScript

이벤트 객체

DOM에 대한 이벤트에 연결한 함수는 이벤트 객체를 매개변수로 사용할 수 있는데, 이벤트 객체에는 여러 메소드와 정보가 들어있다. 이벤트를 제어할 수 있게 해주는 두 가지 요소는 이벤트리스너와 콜백이다.

Read
JavaScript

실행 컨텍스트

자바스크립트 엔진은 코드를 실행하기 위하여 실행에 필요한 여러가지 정보를 알고 있어야 한다. 실행 컨텍스트는 실행 가능한 코드를 형상화하고 구분하는 추상적인 개념이다. 하지만 물리적으로는 '객체'의 형태를 가지며, Variable Object, Scope Chain, this Value라고 하는 3가지 프로퍼티를 소유한다.

Read
JavaScript

JavaScript의 this

'this'는 평소엔(적어도 내 코드에선) 딱히 어렵지 않다고 느껴지면서도, 막상 오픈소스 등 남의 코드를 읽을 때에는 걸림돌이 되곤 했었다. 이는 내가 'this'를 제대로 알지 못하기 때문인 걸로 느껴져서, 좀 더 공부해보기로 했다.

Read
JavaScript

Scope

자바스크립트 엔진은 식별자를 찾을 때 일단 함수레벨이든 블록레벨이든 각 스코프에서 찾게 된다.

Read
Dev-environment

Webpack을 통해 Babel 적용하기

바벨로 변환한 코드를 웹팩으로 말기 위해서 이 둘을 함께 쓰게 된다. babel을 webpack의 loader로서 쓰는 것이다.

Read
Dev-environment

Babel

바벨탑이 실패한 이유는? '언어가 달라서'였다. 참고로, 히브리어로 바벨은 '혼돈'이라는 뜻이다. 크로스브라우징의 혼란을 해결해 줄 수 있는 것이 바벨이다. ES6 코드를 ES5 코드로 변환해주는 등 바벨이 하는 일을 'transpile'이라고 한다.

Read
Dev-environment

Webpack

모든 브라우저에서 모듈시스템을 지원하는 건 아니므로 우리가 작성한 코드(모듈시스템이 포함된)를 제대로 작동하게 하려면 웹팩으로 빌드를 할 수밖에 없다.

Read
Dev-environment

Lint

낡은 스웨터의 보푸라기 같은 것을 린트(Lint)라고 부른다고 한다. 코드에도 이런 보푸라기 같은 부분이 있으며 이를 정리하는 것을 린트 혹은 린터라고 한다.

Read