var 키워드로 선언한 변수는 변수 중복 선언, 함수 레벨 스코프, 변수 호이스팅으로 인해 의도치 않은 오류가 발생할 수 있다. 이를 개선한 ES6의 let, const는 블록 레벨 스코프를 지역 스코프로 인정하며 TDZ로 변수 호이스팅으로 인한 오류를 줄인다.
자바스크립트의 데이터 타입은 number, string, boolean, undefined, null, symbol 6가지 primitive type과 reference type이 존재한다.
스코프는 식별자가 유효한 범위이며, 선언된 위치에 의해 참조 가능한 유효 범위가 결정된다. Javascript는 함수가 어디서 정의됐는지에 따라 함수의 상위 스코프가 결정되는 렉시컬 스코프를 따르며, 함수의 중첩에 의해 계층 구조를 갖는 스코프 체인이 존재한다.
클로저란 상위 스코프의 식별자를 참조 하며, 외부 함수보다 더 오래 유지 되는 중첩 함수 를 말한다. 자바스크립트는 렉시컬 스코프를 따르기 때문에 함수가 어디서 정의됐는지에 따라 상위 스코프를 결정한다.
this가 뭔지도 모르고 막 쓰면 안되죠?
복잡한 자바스크립트의 실행원리를 이해해봐라.
프로토타입으로 불필요한 메서드 중복 선언을 제거한다
DOM이 뭐예요?
당신이 하는 모든 행동이 event
비동기 나좀 그만 괴롭혀
이젠 이해가 되나요?