20. this

1. this Keyword

this는 객체가 자신의 프로퍼티나 메소드를 참조하기 위한 자기 참조 변수(Self-referencing variable)이다. 함수 호출시 arguments 객체와 this가 암묵적으로 함수 내부에 전달된다. arguments 객체와 this는 함수 내부에서 지역 변수처럼 사용할 수 있다. this가 가리키는 값은 함수 호출 방식에 의해 동적으로 결정된다.

C++, Java와 같은 클래스 기반 언어에서 this는 항상 클래스로부터 생성되는 인스턴스를 가리킨다. 그러나 자바스크립트의 this는 함수가 호출되는 방식에 따라서 this에 바인딩될 객체가 동적으로 결정된다.

19. Global Object

전역 객체는 어떤 객체보다도 먼저 생성하고 어느 객체에도 속하지 않는 최상위 객체.

  • client side 환경(브라우저)에서는 window

  • server side 환경에서는 global 객체

18. JavaScript Prototype

JavaScript는

  • 명령형 (Imperative)
  • 함수형 (Functional)
  • 프로토타입 기반 (Prototype-based) 객체지향 프로그래밍

을 지원하는 멀티 패러다임 프로그래밍 언어.

프로토타입은 자바스크립트가 객체지향 프로그래밍의 상속을 구현하는 방식이다.

자바스크립트는 객체 기반 프로그래밍 언어로, 자바스크립트를 이루고 있는 거의 모든 것이 객체이다.

17. Function and First-class Object

1. First-class Object

자바스크립트에서 함수는 객체이며 값처럼 사용할 수 있다. 값처럼 사용할 수 있는 객체를 일급 객체라고 한다. 자바스크립트의 함수는 일급 객체(first-class object)이다.

16. Creating an Object with a Constructor Function

객체 리터럴 표기법은 가장 일반적이고 간단한 객체 생성 방법이다. 객체는 객체 리터럴 표기법 외에도 다양한 방법으로 생성할 수 있다.

객체를 생성하기 위한 용도로 사용되는 함수를 생성자 함수라고 한다.

15. Property Definition

1. What is Property Definition?

프로퍼티 정의란 프로퍼티 어트리뷰트의 값을 정의하여 프로퍼티의 상태를 관리하는 것이다. 예를 들면 프로퍼티 값을 갱신 가능하도록 할 것인지(writable), 프로퍼티를 열거 가능하도록 할 것인지(enumarable), 재정의 가능하도록 할 것인지(configurable)를 정의할 수 있다.

객체 리터럴이 평가되거나 프로퍼티가 동적 생성될 때 프로퍼티가 생성된다. 자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본값으로 자동 정의한다.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×