JavaScript Deep Dive 요약 (4)

JungHanMa·2023년 2월 27일
0

Javascript

목록 보기
5/9
post-thumbnail

19장  프로토타입

추상화

다양한 속성중에서 프로그램에 필요한 속성을 간추려 표현하는 것

객체

  1. 속성을 통해 여러개의 값을 하나의 단위로 표현한 복잡적인 자료구조
  2. 상태를 나타내는 데이터와 상태 데이터를 조작할 수 있는 동작으로 묶은 복합적인 자료구조

상속

어떤 객체 프로퍼티 또는 메서드를 다른 객체가 받아서 사용하는것.

프로토타입

  1. 어떤 객체의 상위 객체의 역할을 하는 개체로써, 다른 객체에 공유 프로퍼티를 제공한다. 프로토타입을 상속받은 하위 객체는 상위 객체의 프로퍼티를 사용할 수 있다.
  2. 모든 객체는 [[Prototype]] 이라는 내부슬롯을 가지며, 객체생성 방식에 따라 프로토타입이 결정되고, 슬롯에 저장된다
  3. 모든 객체는 하나의 프로토타입을 가진다. 모든 프로토타입은 생성자 함수와 연결되어 있다. 즉, 객체의 프로토타입과 생성자 함수는 서로 연결되어 있다.



_ Proto _ 접근자 프로퍼티

  1. 접근자 프로퍼티이다 => 접근자 프로퍼티는 값을 갖지 않고, 값을 읽거나 저장할 때 사용한다.
  2. 상속을 통해 사용된다
  3. 프로토타입에 접근 하는이유 => 상호참조에 의해 프로토타입 체인이 생성되는 것을 방지
  4. 코드내에서 직접사용을 권장하지 않음.

함수객체의 Prototype 프로퍼티

함수 객체만이 소유하는 Prototype 프로퍼티는 생성자 함수가 생성할 인스턴스의 프로토타입을 가르킨다.



프로토 타입 생성시점

  1. 사용자 정의 생성자 함수 => 함수 정의가 평가 되어 함수 객체를 생성하는 시점
  2. 빌트인 생성자 함수 => 전역객체가 생성 되는 시점

프로토 타입 체인

  1. 객체의 프로퍼티에 접근시, 없다면 [[Prototype]] 내부슬롯을 따라, 자신의 부모역할을 하는 프로토타입을 순차적으로 검색한다.
  2. 프로토 타입의 종점은 Object.prototype이며, 내부슬롯의 값은 null이다.
  3. 프로토 타입 체인은 상속 프로퍼티 검색을 위한 메커니즘이다. *** 스코프체인 : 식별자 검색

ex). me.hasOwnProperty('name') => me: 식별자 , hasOwnProperty: 스코프체인 검색

오버라이딩

상위 클래스가 가지고 있는 메서드를 하위클래스가 재정의 하여 사용하는 것

오버로딩

같은 이름의 함수, 매개변수나 매개변수의 타입이 다른것

Instanceof

객체의 프로토타입 체인상에 존재하면 True 반환.

profile
Frontend Junior

0개의 댓글