
JavaScript의 탄생, 표준 승인, 버전
JavaScript의 자료형 및 typeof 연산자의 사용법

JavaScript의 변수를 선언 및 할당할 때 메모리에서 일어나는 과정
실행 컨텍스트 (Execution Context) 실행 컨텍스트란? "실행할 코드에 제공할 환경 정보들을 모아놓은 객체" 실행 컨텍스트를 구성하는 과정에서 호이스팅, 외부 환경 정보 구성, this값 설정 등의 동작을 수행한다. 실행 컨텍스트를 구성하는 방법에는
this? JavaScript에는 this라는 특별한 키워드가 있다. 다른 객체지향 언어에서의 this는 보통 클래스로 생성한 인스턴스 객체를 의미하고, 클래스에서만 사용할 수 있다. 하지만, JavaScript에서는 어디서든 this를 사용할 수 있고, 상황에 따라
JavaScript와 ProtoType JavaScript는 프로토타입 기반 언어로, 여러 클래스 기반 언어와는 다르게 동작한다. JavaScript에서는 클래스 기반 언어의 '상속'과 비슷한 효과를 내기 위해 어떤 객체를 원형으로 삼고 이를 복제(참조)하여 새로운 객
실행 컨텍스트와 가비지 콜렉터 > https://velog.io/@juwon98/JavaScript-execution-context 실행 컨텍스트에 대해 모른다면 위의 글을 먼저 보는 것을 추천함 위와 같은 코드가 있다면, counter 함수 실행이 끝났을 때, 안에 있는 count 변수는 어떻게 될까? 함수의 실행 컨텍스트가 종료되어 콜스택에서 사라지...
JavaScript의 Class JavaScript는 프로토타입 기반 언어라서 '상속'개념이 존재하지 않는다. 클래스 기반의 다른 언어에 익숙한 개발자들이 혼란을 겪었다. -> ES6에 class 문법이 추가되었다. 내부적으로 프로토타입을 활용하고 있으며, 클래스 기반

JavaScript의 모듈 타입

Heap(Heap Tree)이란? 여러 개의 값 중에서 가장 작은 값을(최대 힙의 경우는 큰 값) 빠르게 찾기 위해 만든 완전 이진 트리. 트리의 부모 노드는 자식 노드보다 항상 작은 값(최대 힙의 경우는 큰 값)을 가진다. 짧게 힙(Heap)이라고 줄여서 부르기도 한다. 우선 순위 큐를 구현하는 데에 사용된다. Heap Tree 이미지 출처: 나무위키...
ES6의 클로저 (let, const) 클로저 클로저는 JavaScript ES6 이전 버전부터 존재한 개념으로, 다음과 같이 설명할 수 있다. -> 어떤 함수 A에서 선언한 변수 a를 참조하는 내부함수 B를 외부로 전달할 경우 A의 실행 컨텍스트가 종료된 이후에도 변수 a가 사라지지 않는 현상 하지만, ES6에 도입된 let과 const는 함수 스코프...
JavaScript의 ES6(ECMAScript 2015) 버전에서 새롭게 등장한 키워드로 var의 단점과 문제점을 해결하기 위해 도입되었다. var는 몇 가지 설계상의 한계와 의도하지 않은 동작을 일으키기 쉬운 특성을 가지고 있었기 때문에, 이를 보완하기 위해 let
많은 JavaScript 개발자들은 Java같은 다른 객체지향 언어의 상속과 유사한 기능을 사용하고 싶어 했다. 하지만, ES6 버전 이전의 JavaScript에는Class 문법이 없었기 때문에, 프로토타입 체이닝을 활용해 클래스의 상속과 비슷하게 구현하여 사용하고자
다형성(Polymorphism) 다형성: poly(많은) + morphism(형태) -> 즉, 하나의 요소가 여러 형태를 가지는 것 다형성은 상속과 밀접한 관계를 가지는 개념으로, 같은 이름의 메소드가 다른 동작을 수행할 수 있도록 하는 기능이다. 다형성을 통해 여러 객체를 일관된 방식으로 다룰 수 있으며, 코드의 가독성과 유지 보수성을 향상시킬 수 있다...
Web Components 그 기능을 나머지 코드로부터 캡슐화하여 재사용 가능한 커스텀 엘리먼트를 생성하고 웹 앱에서 활용할 수 있도록 해주는 다양한 기술들의 모음 Custom elements, Shadow DOM, HTML template 이 세 가지 기술로 구성되
Web Components를 사용한 프로젝트에서 발생한 에러 핸들링 과정을 담은 글이다. ShadowDOM을 사용한 Web Components Vanilla JavaScript 프로젝트에서 tailwindCSS를 사용해서 진행했다. 그 과정에서 여러 페이지에 공통적으로 사용되는 헤더, 푸터 같은 컴포넌트는 Web Components 기술을 사용해 구현하기...
JavaScript는 싱글 스레드 기반 언어로, 한 번에 하나의 작업만 실행할 수 있다.코드를 한 줄씩 실행하면서 현재 실행 중인 코드(함수)를 콜 스택(또는 호출 스택)이라는 공간에 쌓아두고 하나씩 처리하게 되는데, API 요청 같은 비동기 작업을 실행한다면 다른 작