aluvy

[Deep Dive] 19장 프로토타입

자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어다. 간혹 C++나 자바 같은 클래스 기반 객체지향 프로그래밍 언어의 특징인 클래스와 상속, 캡슐화를 위한 키워드인 public, private, protected 등이 없어서 자바스크립트는 객체지향 언어가 아니라고 오해(자바스크립트는 가장 많...

[Deep Dive] 18장 함수와 일급 객체

18.1 일급 객체 다음과 같은 조건을 만족하는 객체를 일급 객체라 한다. 무명의 리터럴로 생성할 수 있따. 즉, 런타임에 생성이 가능하다. 변수나 자료구조(객체, 배열)에 저장할 수 있다. 함수의 매개변수에 전달할 수 있다. 함수의 반환값으로 사용할 수 있다. 자바스크립트의 함수는 다음 예제와 같이 위의 조건을 모두 만족하므로 ...

[Deep Dive] 17장 생성자 함수에 의한 객체 생성

다양한 객체 생성 방식 중에서 생성자 함수를 사용하여 객체를 생성하는 방식을 살펴본다. 그리고 객체 리터럴을 사용하여 객체를 생성하는 방식과 생성자 함수를 사용하여 객체를 생성하는 방식과의 장단점을 살펴보자. 17.1 Object 생성자 함수 new 연산자와 함께 Object 생성자 함수를 호출하면 빈 객체를 생성하여 반환한다. 빈 객체를 생성한...

[Deep Dive] 16장 프로퍼티 어트리뷰트

16.1 내부 슬롯과 내부 메서드 프로퍼티 어트리뷰트를 이해하기 위해 내부슬롯과 내부메서드의 개념을 알아야한다. 내부슬롯과 내부메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위한 것이다. 이중 대괄호 [[ ]] 개발자가 직접 접근할수 있도록 외부로 공개된 객체의 프로퍼티는 아니다. 직접 접근하거나 호출할 수 있는 방법은 없다...