JavaScript

JavaScript

이벤트 전파와 위임

이론적으로만 알고 있었던 개념인데 실전에서 드디어 만나게 되어 반가운 마음에 이벤트 전파(버블링, 캡쳐링), 그리고 그를 이용한 위임에 대해 정리해보기로 했다.

Read
JavaScript

이벤트 객체

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

Read
JavaScript

실행 컨텍스트

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

Read
JavaScript

JavaScript의 this

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

Read
JavaScript

Scope

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

Read
JavaScript

엄격모드(Strict mode)

ES5가 나온 후 하위 호환성 이슈 때문에 변경사항 대부분이 디폴트로는 활성화되지 않도록 설계되었다. 대신 'use strict'라는 특별한 지시자를 사용했을 때에만 활성화되게 해두면서 엄격모드라는 게 생겼다. 엄격모드를 실행하면 스크립트가 모던한 방식으로 작동하게 된다.

Read
JavaScript

클로저

어떤 함수를 렉시컬 스코프 밖에서 호출해도, 원래 선언되었던 렉시컬 환경을 기억하고 접근할 수 있도록 하는 특성이다.

Read
JavaScript

호이스팅

자바스크립트의 특이점 중 하나로, 스크립트를 실행하기 전 준비단계에서 var 혹은 function 선언문을 찾아 이 변수 혹은 함수를 생성하는 것이다.

Read