36 Posts
분류 전체보기
Chapter 4. 콜백 함수 4.1 콜백함수란? 콜백 함수(callback funciton)는 다른 코드의 인자로 넘겨주는 함수다. 콜백 함수를 넘겨받은 코드는 이 콜백 함수를 필요에 따라 적절한 시점에 실행한다. 즉, 어떤 함수 X를 호출하면서 '특정 조건일 때 Y를 실행해서 나에게 알려달라'는 요청을 보내는 것이다. 콜백 함수는 제어권과 관련이 깊다. 콜백 함수는 다른 코드(함수 또는 메서드)에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수다. 콜백 함수를 위임받은 코드는 자체적인 내부 로직에 의해 이 콜백 함수를 적절한 시점에 실행한다. 4.2 제어권 4.2.1 호출 시점 var count = 0; var timer = setInterval(function () { console.log(co..
Chapter 3. this 3.1 상황에 따라 달라지는 this 대부분의 객체지향 언어에서 this는 클래스로 생성한 인스턴스 객체를 의미하기 때문에 클래스에서만 사용할 수 있다. 그러나 자바스크립트에서는 어디든지 사용할 수 있으며, 상황에 따라 this가 바라보는 대상이 달라진다. this는 자바스크립트에서 함수와 객체를 구분하는 유일한 기능이다. this는 기본적으로 실행 컨텍스트가 생성될 때(함수가 호출될 때) 함께 결정된다. 함수가 어떤 방식으로 호출되느냐에 따라 this의 값이 달라진다. 3.1.1 전역 공간에서의 this 전역 공간에서 this는 전역 객체를 가리킨다. 전역 컨텍스트를 생성하는 주체가 전역 객체이기 때문이다. 전역 객체는 자바스크립트 런타임 환경에 따라 다른데 브라우저 환경에..
Chapter 2. 실행 컨텍스트 2.1 실행 컨텍스트란? 실행 컨텍스트(execution content)는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체로, 자바스크립트의 동적 언어로서의 성격을 잘 파악할 수 있는 개념이다. 자바스크리트는 어떤 실행 컨텍스트가 활성화되는 시점에 선언된 변수를 위로 끌어올리고(호이스팅hoisting), 외부 환경 정보를 구성하고, this 값을 설정하는 등의 동작을 수행하는데, 이로 인해 다른 언어에서는 발견할 수 없는 특이한 현상들이 발생한다. 스택(stack)은 출입구가 하나뿐인 깊은 우물같은 구조다. 만약 순서대로 데이터 a, b, c, d를 저장했다면 꺼낼 때는 반대로 d, c, b, a의 순서로 꺼내게 된다. 큐(Queue)는 양쪽이 모두 열려있는 파이프다...
Chapter 1. 데이터 타입 1.1 데이터 종류 기본형 : 숫자(number), 문자열(string), 불리안(boolean_, null, undefined (+ES6에서는 심볼(symbol) 추가) 참조형 : 객체(object), 배열(array), 함수(Function), 날짜(Date), 정규표현식(RegExp) (+ES6에서는 Map, WeakMap, Set, WeakSet 등 추가) 기본형은 값이 담긴 주솟값을 바로 복제, *불변성(immutability)을 띔 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제 * 불변성의 이해에 대해서는 메모리와 데이터, 식별자와 변수에 대한 이해 필요 1.2 데이터 타입에 관한 배경지식 1.2.1 메모리와 데이터 비트(bit) : 0 ..
Chapter 7. 객체지향 프로그래밍 II 1. 상속 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 자바에서 상속을 구현하기 위해서는 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써 주기만 하면 된다. ▼ 상속받는 방법 class Parent { } class Child extends Parents { // ... } 조상 클래스 : 부모(parent) 클래스, 상위(super) 클래스, 기반(base) 클래스 자손 클래스 : 자식(child) 클래스, 하위(sub) 클래스, 파생된(derived) 클래스 자손 클래스는 조상 클래스의 모든 멤버를 상속받기 때문에, Child 클래스는 Parent 클래스의 멤버들을 포함..
Chapter 6. 객체지향 프로그래밍 I 1. 객체지향언어 [ 객체지향언어의 주요 특징 ] 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 코드의 관리가 용이하다. 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 증복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다. 객체지향개념을 학습할 때 1) 재사용성과 2) 유지보수, 3) 중복된 코드의 제거라는 세 가지 관점에서 보면 보다 쉽게 이해할 수 있다. 2. 클래스와 객체 클래스의 정의 : 클래스란 객체를 정의해 놓은 것이다. 클래스의 용도 : 클래스는..