본문 바로가기

모던 자바스크립트 Deep Dive53

27장 배열 * 아래 내용은 이웅모 저자님의 모던 자바스크립트 Deep Dive 책(위키북스)을 정리한 내용입니다. 저작권에 문제가 된다면 삭제하도록 하겠습니다. 1. 배열이란? 배열(array)은 여러 개의 값을 순차적으로 나열한 자료구조다. 배열이 가지고 있는 값을 요소(element)라고 부른다. 자바스크립트의 모든 값은 요소가 될 수 있다. 배열의 요소는 배열에서 자신의 위치를 나타내는 0이상의 정수인 인덱스(index)를 갖는다. 인덱스는 배열의 요소에 접근할 때 사용한다. const arr = ['apple', 'banana', 'orange']; 배열은 요소의 개수를 나타내는 length 프로퍼티를 갖는다. arr.length // -> 3 for (let i = 0; i < arr.length; i++.. 2023. 2. 18.
25장 클래스(4) * 아래 내용은 이웅모 저자님의 모던 자바스크립트 Deep Dive 책(위키북스)을 정리한 내용입니다. 저작권에 문제가 된다면 삭제하도록 하겠습니다. 8.6 상속 클래스의 인스턴스 생성과정 // 수퍼클래스 class Rectangle { constructor(width, height) { this.width = width; this.height = height; } getArea() { return this.width * this.height; } toString() { return `width = ${this.width}, height = ${this.height}`; } } // 서브클래스 class ColorRectangle extends Rectangle { constructor(width, he.. 2023. 2. 12.
25장 클래스(3) * 아래 내용은 이웅모 저자님의 모던 자바스크립트 Deep Dive 책(위키북스)을 정리한 내용입니다. 저작권에 문제가 된다면 삭제하도록 하겠습니다. 8. 상속에 의한 클래스 확장 8.1 클래스 상속 상속에 의한 클래스 확장은 기존 클래스를 상속받아 새로운 클래스를 확장하여 정의하는 것이다. class Animal { eat() { return 'eat'; } walk() { return 'walk'; } } // 상속을 통해 Animal 클래스를 확장한 Dog 클래스 class Dog extends Animal { wag() { return 'wag'; } } const dog = new Dog(); console.log(dog instanceof Dog); // true console.log(dog .. 2023. 2. 12.
25장 클래스(2) * 아래 내용은 이웅모 저자님의 모던 자바스크립트 Deep Dive 책(위키북스)을 정리한 내용입니다. 저작권에 문제가 된다면 삭제하도록 하겠습니다. 6. 클래스의 인스턴스 생성 과정 new 연산자와 함꼐 클래스를 호출하면 생성자 함수와 마찬가지로 클래스의 내부 메서드 [[Construct]]가 호출되어 다음과 같은 과정을 거쳐서 인스턴스를 생성한다. class Person { // 생성자 constructor(name) { // 1. 암묵적으로 인스턴스가 생성되고 this에 바인딩된다. console.log(this); // Person {} console.log(Object.getPrototypeOf(this) === Person.prototype); // true // 2. this에 바인딩되어 있.. 2023. 2. 8.
25장 클래스(1) * 아래 내용은 이웅모 저자님의 모던 자바스크립트 Deep Dive 책(위키북스)을 정리한 내용입니다. 저작권에 문제가 된다면 삭제하도록 하겠습니다. 1. 자바스크립트의 클래스 자바스크립트는 프로토타입 기반의 객체지향언어(OOP)이기 때문에 클래스가 굳이 필요하지는 않았다. 하지만 많은 객체지향언어에서 클래스를 사용하고 있고, 자바스크립트 역시 다른 언어를 사용하는 개발자들이 자바스크립트에 더 빨리 익숙해질 수 있도록 ES6에 클래스가 추가되었다. 자바스크립트의 클래스 역시 기본적으로 프로토타입을 기반으로 동작한다. 생성자 함수와 매우 유사하게 동작하지만 다음과 같은 몇가지 차이점이 있다. ⓵ 클래스는 new 연산자 없이 호출하면 에러가 발생한다. ⓶ 클래스는 상속을 지원하는 extends와 super .. 2023. 2. 8.
48장 모듈 * 아래 내용은 이웅모 저자님의 모던 자바스크립트 Deep Dive 책(위키북스)을 정리한 내용입니다. 저작권에 문제가 된다면 삭제하도록 하겠습니다. 1. 모듈의 일반적인 의미 모듈이란 애플리케이션을 구성하는 개별적 요소로서 재사용 가능한 코드 조각을 말한다. 일반적으로 모듈은 기능을 기준으로 파일 단위로 분리한다. 이때 모듈이 성립하려면 모듈은 자신만의 파일 스코프(모듈 스코프)를 가질 수 있어야 한다. 모듈의 자산(모듈에 포함된 변수, 함수, 객체 등)은 기본적으로 비공개이기 때문에 다른 모듈에서 접근할 수 없는데, export 키워드를 사용하면 선택적 공개가 가능하다. 공개된 모듈의 자산은 다른 모듈에서 사용 가능하다. import 키워드를 사용하면 모듈 사용자는 모듈이 공개한 자산중 일부 또는 전.. 2023. 2. 1.