Jaeilit

코어 this(2) 본문

JavaScript

코어 this(2)

Jaeilit 2022. 6. 8. 22:23
728x90

생성자 함수 내부에서의 this

 

생성자 함수를 호출하면 우선 생성자의 prototype (프로토타입) 프로퍼티를 참조하는 __proto__ 라는 프로퍼티가 있는 객체를 만들고, 미리 준비 된 속성 및 개성을 해당 객체(this)에 부여하면서 인스턴스가 만들어진다

1. 처음 Cat 안의 this 는 빈 객체(인스턴스)이고, name을 인자로 받아왔다.

2. name 을 this.name 에 할당하고 난 뒤 this.name과 this를 console.log를 해보면 받아온 name 값이 this.name에 할당되었고 this 자체도 준비 된 속성에 할당되어있다.

3. 생성자 함수로 내부의 This는 인스턴스 자체를 가르킨다.

 

# 유사배열객체

 

객체에는 배열메서드를 직접 적용할 수는 없지만

키가 0또는 양의정수 or length 프로퍼티의 값이 0또는 양수인 객체유사배열객체라고 부른다.

 

# 생성자 내부에서 다른 생성자를 호출

 

 

정리 

 

1. 전역 공간에서의 this는 전역객체 window. nodejs -> global 을 참조

2. 어떤 함수를 메서드로 호출 한 경우 this는 메서드 호출주체를 참조  (점 표기법 대괄호표기법 앞의 주체)

3. 어떤 함수를 함수로 호출한 경우 this는 전역객체를참조, 메서드의 내부 함수에서도 같음.

4. 생성자 함수에서의 this는 생성 될 인스턴스를 참조 함 (빈 객체)

5. 화살표 함수는 this가 바인딩 되지않아서 근처 스코프체인상 가장 가까운 this에 접근함.

6. 명시적 this 바인딩에는 call, apply bind 가 있다.

728x90

'JavaScript' 카테고리의 다른 글

코어 - 클로저  (0) 2022.06.30
코어 - 콜백함수  (0) 2022.06.20
코어 this  (0) 2022.06.07
코어 스코프, 스코프 체인, 외부환경참고  (0) 2022.06.02
코어 실행컨텍스트  (0) 2022.05.28