모듈 시스템 정리: Require와 Import, 모듈은 동기적으로 불러올까
CommonJS와 ESM의 문법과 동작 차이를 예제로 비교하고, 정적 import와 동적 import의 처리 순서를 따라가며 모듈 로딩이 동기인지 비동기인지 정리했다.
CommonJS와 ESM의 문법과 동작 차이를 예제로 비교하고, 정적 import와 동적 import의 처리 순서를 따라가며 모듈 로딩이 동기인지 비동기인지 정리했다.
함수 호출, 메서드 호출, 화살표 함수, call/apply/bind, strict mode에서 this가 각각 무엇을 가리키는지 예제로 하나씩 확인하며 정리했다.
log함수가 실행되기 직전에, var name="stupid" 때문에 멈칫거릴 수 있다.
인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화한다. 반면 let과 const로 선언한 변수의 경우…
스코프란, 변수 이름, 함수 이름, 클래스 이름과 같은 식별자가 본인이 선언된 위치에 따라 다른 코드에서 자신이 참조될 수 있을지 없을지 결정하는 것이다. 식별자에 대한 유효범위라고도 간단히 말한다.
this는 호출할 때 정해진다. 일반 함수는 호출 대상을, 화살표 함수는 상위 스코프의 this를 참조한다는 대전제로, call을 섞어 헷갈리는 예시까지 풀었다.
래퍼 객체는원시값(문자열, 숫자 등)을 마치 객체처럼 다룰 수 있게 하여, 원시값에서도 메서드를 호출할 수 있다.
위와 같은 생성자 함수들의 내부코드를 보고 싶어, 크롬 개발자 모드에서 확인했다. 하지만 native code라고만 나오고 더 이상의 정보를 알 수 없었다. You don't know Js라는 책에서 언급한…
자바스크립트가 클래스가 아니라 프로토타입을 택한 철학적 배경을 비트겐슈타인의 의미사용이론과 가족유사성 개념으로 풀어 정리했다.
불변값과 가변값은 데이터 영역의 메모리를 변경할 수 있는가에 따라 나뉜다.기본형 데이터 타입의 값을 변경할 때는 데이터 영역의 메모리를 변경하지 않고(불변성) 변수의 값만 재할당하는 반면,참조형 데이터 타입의…
for...in과 for...of가 각각 무엇을 순회하는지부터 enumerable 속성, Object.keys, getOwnPropertyNames, hasOwnProperty의 차이까지 예제로 정리했다.
arguments 객체는 실행 컨텍스트 생성 시점에 함께 만드는 정보 중 하나다. 지정한 매개변수의 개수와 무관하게 호출 시 인자가 모두 arguments 정보에 담긴다. 이러한 특성 덕에 함수의 자율성을 높이는…
하이픈(-)이 들어간 property에 접근할 수 없다.
출처: www.youtube.com/watch?v=wcsVjmHrUQg&t=629s
1. Javascript는 프로그래밍 언어로써 하나의 개별된 대명사로 쓰인다.