프로토타입의 이해 (What) 프로토타입은 무엇인가? 자바스크립트의 모든 객체는 자신의 부모 역할을 하는 객체와 연결되어있고 이 부모 객체를 프로토타입이라고 한다. 객체지향 프로그래밍의 근간을 이루는 객체 간 상속을 구현하기 위해 사용된다. 프로토타입은 어떤 객체의 상위(부모) 객체의 역할을 하는 다른 객체에 공유 프로퍼티를 제공한다. 프로토타입을 상속받은...
this란 무엇인가? 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수이다. this는 "지금 내가 가리키고 있는 것"이다. 어떤 객체인지에 따라 다르게 가리킨다. (this 바인딩) 객체에서의 this 사용 예시 생성자 함수에서의 this 사용 예시 예를 들어, 집에 두 마리의 강아지가 있을 때 한 마리의 이름은 "코코"이고...
배열이란? 배열은 여러 개의 값을 순차적으로 나열한 자료구조다. 배열은 사용 빈도가 매우 높은 가장 기본적인 자료구조다. 배열이 가지고 있는 값을 요소라고 부른다. 즉, 원시값은 물론 객체, 함수, 배열 등 자바스크립트에서 값으로 인정하는 모든 것은 배열의 요소가 될 수 있다. 배열의 요소는 배열에서 자신의 위치를 나타내는 0 이상의 정수인 인덱스를 갖...
모듈이란? 애플리케이션을 구성하는 개별적인 요소로서 재사용 가능한 코드 조각 > # 모듈의 특징 모듈이 성립하려면 모듈은 자신만의 파일 스코프를 가질 수 있어야 함 자신만의 파일 스코프를 갖는 모듈의 자산은 기본적으로 비공개 상태다. 다시 말해, 자신만의 파일 스코프를 갖는 모듈의 모든 자산은 캡슐화되어 다른 모듈에서 접근할 수 없다. 즉, 모듈은 ...
Babel Babel이란? 추상화 수준을 유지한 채로 코드를 변화시키는 트랜스파일러이다 바벨을 통해 ES6+의 자바스크립트 코드는 하위 버전으로 변환되고, 그로 인해 IE나 다른 브라우저에서 동작할 수 있게 만든다 설치 방법 프리셋 설치와 babel.config.json 설정 파일 작성 Babel을 사용하려면 @babel/preset-env를 설치해야...

대부분의 프로그래밍 언어는 운영체제나 가상 머신 위에서 실행되지만 웹 애플리케이션의 클라이언트 사이드 자바스크립트는 브라우저에서 HTML, CSS와 함께 실행된다. 따라서 브라우저 환경을 고려할 때 더 효율적인 클라이언트 사이드 자바스크립트 프로그래밍이 가능하다. 브라우저 렌더링 과정 브라우저는 다음과 같은 과정을 거쳐 렌더링을 수행한다 1️⃣ 브라우...