자바스크립트의 경우 객체지향 언어이지만, Java와 같은 클래스 기반이 아닌 Prototype 기반 객체지향 언어이다.자바스크립트의 모든 객체는 자신의 부모 객체와 연결되어 있으며, 이러한 부모 객체를 Prototype 객체또는 Prototype이라 한다.자바스크립트의
자바스크립트는 생성자 함수와 new 연산자를 통해 인스턴스를 생성할 수 있다.위의 결과는 생성자 함수로 객체를 생성하는 예시이며 정상 동작한다. 하지만 아래와 같이 여러개의 인스턴스를 생성할시 문제가 생긴다.각각의 인스턴스들이 같은 로직의 메소드를 소유하고 있다. 이는
JavaScript의 this는 함수의 선언위치(Lexical Scope)와 관련있는 것이 아니라, 호출위치에 따라 동적으로 결정된다. 💻 기본 바인딩 this의 기본 바인딩 규칙 > this는 전역객체를 기본으로 참조하고 있다.
본 글은 A surprising feature of JavaScript optional chaining 을 번역한 글 입니다. 오역이 있을 수 있습니다.2020년, JavaScript는 optional chaining 이라는 새로운 기능이 생겼습니다. 이 기능은 여러가
자바스크립트 엔진은 소스코드를 '평가'와 '실행' 두가지 과정으로 나누에 처리합니다.평가실행 컨텍스트를 생성한 후, 변수, 함수등의 선언문만 실행해 생성된 식별자를 컨텍스트가 관리하는 스코프(렉시컬 환경의 환경 레코드)에 등록합니다.실행선언문을 제외한 소스코드가 순차적
변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징입니다.❗ 변수 선언뿐만 아니라 var, let, const, function, function\*, class 키워드를 사용해서 선언하는 모든 식별자는 호이스팅이 됩니다. 모든 선언문은
자바스크립트 엔진은 함수를 어디서 호출했는지가 아닌, 어디서 선언했는지에 따라 상위스코프를 결정하게 되는데, 이를 렉시컬 스코프라고 합니다.\[Environment] 슬롯함수의 정의가 평가되는 단계에서, 함수 객체가 생성될 때, 자신이 정의된 환경에 의해 상위 스코프의
함수가 호출된 순서대로 함수 실행 컨텍스트가 함수 실행 컨텍스트 스택에 푸쉬되어 순차적으로 실행되는 방식입니다. 장점태스크들을 순서대로 하나씩 처리하기 때문에 실행순서가 보장이 됩니다.단점앞선 테스크가 종료할 때 까지 이후 태스크들이 블로킹 되는 단점이 있습니다.일정
디바운싱은 짧은 시간 간격으로 이벤트가 연속해서 발생하면 이벤트 핸들러를 호출하지 않다가 일정시간이 경과한 이후에 이벤트 헨들러가 한 번만 호출되도록 합니다. 즉 짧은 시간 간격으로 발생하는 이벤트 핸들러를 그룹화해 마지막에 한 번만 이벤트 핸들러가 호출되도록 하는 기
이벤트 위임을 알아보기 전에 이벤트가 전파되는 과정을 알아야 합니다. 만약 이벤트를 발생시키면 이벤트 객체가 만들어 집니다. 만들어진 이벤트 객체는 이벤트를 발생시킨 DOM 요소인 이벤트 타깃을 중심으로 DOM 트리를 통해 전파됩니다.캡처링 단계li요소를 클릭하면 클릭