JavaScript

JavaScript

Scope

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

Read
JavaScript

엄격모드(Strict mode)

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

Read
JavaScript

클로저

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

Read
JavaScript

호이스팅

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

Read
JavaScript

var vs let vs const

var는 함수레벨, let과 const는 블록레벨 스코프를 가진다. var와 let은 재할당이 가능하지만 const는 재할당이 불가하다.

Read
JavaScript

Promise

비동기 상황에서, 동기적으로 바로 알아낼 수 없는 값을 위한 대리자. 프로미스를 사용하면 비동기 메서드에서 마치 동기 메서드처럼 값을 반환할 수 있다. 다만 최종 결과 대신 일단 프로미스를 반환해서 미래의 어떤 시점에 결과를 제공하며, 성공과 실패에 따라 메서드를 분기해서 수행할 수 있게 해준다.

Read