new operator

마데슾 : My Dev Space·2020년 1월 13일
0

[CODESTATES]Immersive Flex

목록 보기
20/28

new가 하는 일

  1. 새로운 빈 객체를 만들어낸다.
  2. this를 새로 만들어진 객체에 bind한다.
  3. 새로 만들어진 객체에 "proto"라 불리는 property를 더한다. 이것은 constructor 함수의 prototype 객체를 의미한다.
  4. return this를 함수의 끝에 추가한다. 때문에 객체는 함수로부터 return되어 만들어진 것이다.

예시)

function Fruit(name) {
  this.name = name;
}

let apple = new Fruit('apple');
  1. 새로운 객체(apple)를 만들어낸다
  2. this는 apple 객체에 bind된다. 때문에 this에 대한 참조는 apple을 향할 것이다.
  3. __proto__가 추가된다. apple.__proto__는 이제 Fruit.prototype을 가리킨다.
  4. 모든 것이 완료된 후에 새로운 apple 객체는 새로운 apple 변수에 return된다.

👨‍🏫 참고블로그

profile
👩🏻‍💻 🚀

0개의 댓글