개발/JavaScript 10

[JavaScript] 코어 자바스크립트 - 8. 클래스

1. 클래스에서 Object.create에 대해서 설명해 주세요. Object.create()는 새로운 객체를 생성하는 메소드 이 메소드는 인자로 전달된 객체를 상속하기 때문에, 기존 객체의 프로퍼티와 메소드를 그대로 사용할 수 있음 2. Object.create 함수는 클래스와 어떤 관계가 있을까요? 모두 상위 객체, 클래스를 상속하는 새로운 객체를 만들 수 있는 공통점이 있음 Object.create는 인자로 어떤 객체를 전달하는지에 따라 원하는 객체를 상속하는 새로운 객체를 생성 클래스에서는 extends 키워드를 사용해 상속 관계를 정할 수 있음 3. Object.create와 new Object는 어떻게 다를까요? Object.create로 객체를 생성하면 인자로 넣은 객체를 상속하는(프로토타..

개발/JavaScript 2023.06.18

[JavaScript] 와우(WOW)의 인스턴스 던전이 생성되는 방법 (class와 instance)

※ 실제 게임 와우(월드 오브 워크래프트)의 공략이나 게임 개발 등과는 전혀 관련이 없는 내용입니다. 자바스크립트의 Class 개념을 학습하며 작성된 글입니다. 인스턴스? 누구세요? 자바스크립트에 입문하고 인스턴스라는 용어를 처음 알게 되었을 때, 일상에서 자주 사용하는 단어가 아니다보니 개념을 익히기가 어려웠다. 내가 알고 있는 인스턴스의 쓰임이라고는 와우의 '인스턴스 던전' 뿐이었다. 혹은 인스턴트(instant)의 오타인 줄 알았다. 인스턴스를 사전에서 찾아보면 '사례'라는 뜻으로 나와있다. 자바스크립트의 클래스를 학습하면서 객체, 인스턴스라는 단어를 자주 사용하게 되는데, 그럴 때마다 머릿속 한 편에 있던 '클래스의 인스턴스는 와우의 인스턴스 던전과 도대체 무슨 관계인걸까?'라는 물음이 해소되질 ..

개발/JavaScript 2023.06.13

[JavaScript] 코어 자바스크립트 - 7. 프로토타입

1. 객체란 무엇인가요? 키(key)과 값(value)으로 이루어진 프로퍼티(Property)들의 집합 2. 객체가 생성되는 과정에 대해서 설명해주세요. 생성자 함수로 객체를 생성할 수 있음 생성자 함수에 new 연산자를 붙여 호출하면, 새로운 인스턴스가 만들어짐 3. 프로토타입과 프로토의 차이에 대해서 설명해 주세요. 프로토타입은 생성자 함수의 특정 데이터 타입에서 사용할 수 있는 메소드가 담긴 객체 프로토[[prototype]]는 인스턴스에서 생성자 함수의 프로토타입에 접근할 수 있는 통로 역할 4. 생성자 함수에 대해서 설명해 주세요. new 연산자를 붙여서 호출할 경우 쉽게 새로운 객체를 만들 수 있는 방법 유사한 객체를 여러 개 만들 수 있음 첫 문자는 대문자로 쓰고, new 연산자를 붙여서 사..

개발/JavaScript 2023.06.11

[JavaScript] 코어 자바스크립트 - 6. 클로저

1. 클로저에 대해서 설명해 주세요. 어떤 함수에서 선언된 변수를 참조하는 그 함수의 내부 함수를 외부로 전달할 때, 함수의 실행 컨텍스트가 종료된 이후에도 변수에 접근할 수 있는 현상 2. 클로저의 예시를 코드로 작성해 주세요. const outer = () => { let a = 1; const inner = () => { return ++a; } return inner; } const outer2 = outer(); console.log(outer2()); console.log(outer2()); inner 함수 자체를 반환하면, outer 함수의 실행 컨텍스트가 종료된 후에도 inner 함수에 접근할 수 있음 3. 클로저와 스코프는 어떤 관계를 가지고 있을까요? 클로저는 함수의 실행 컨텍스트가 종..

개발/JavaScript 2023.06.07

[JavaScript] 코어 자바스크립트 - 5. 콜백 함수

1. 콜백 함수에 대해서 설명해 주세요. 콜백함수는 제어권을 넘겨준 함수 제어권을 넘겨받은 코드는 인자로 어떤 값을 넘겨줄 지, 언제 호출할 지, this 등에 대한 제어권을 가짐 2. 일급 객체에 대해서 설명해 주세요. 다른 객체들에 일반적으로 적용할 수 있는 연산을 모두 지원하는 객체 인자로 넘겨주기, 함수의 반환값으로 사용하기, 변수에 대입하기 등이 가능할 때 일급 객체라고 부름 3. 콜백 함수는 어디에 쓰이나요? 비동기 처리가 필요한 경우 4. 콜백 함수의 제어권 위임에 대해서 설명해 주세요. 콜백 함수에게 제어권을 위임받은 코드는 인자로 어떤 값을 넘겨줄 지, 언제 호출할 지, this 등에 대한 제어권을 가짐 Ex. forEach, map 등의 메소드에서 정의된 순서로 인자 값을 넘겨줄 수 있..

개발/JavaScript 2023.03.23