JavaScript Class

조재일·2023년 4월 1일
0

JavaScript

목록 보기
1/1
post-thumbnail

Class란?

동일한 객체를 여러개 만들때 필요한 것이다.

Class의 기본 구조

constructor

생성자 함수로 객체 초기화를 담당한다.
newclass에 대한 Instance를 생성할때, constructor라는 생성자 함수 내용은 Instance안에 넣어준다.

Constructor가 없다면?

newInstance를 생성할때 프로퍼티 초기화가 되지 않는다.
하지만, Instance를 생성해서 동적으로 프로퍼티를 생성하는것은 가능하다

동적으로 프로퍼티 생성이 가능하다면 괜찮은 것 아닌가?

동적으로 프로퍼티 생성을 한다면 가독성유지보수가 힘들어진다.

Instance 생성하기

Instance란?

class를 이용해서 만들어진 구체적인 객체이다.

Class에서 만들어진 것을 어떤식으로 받는 것인가?

이것을 알기 위해서는 객체의 프로토 타입 상속에 대해서 알아야한다

프로토타입 상속이란?

어떠한 class에서의 method가 있는데 method에 약간의 기능을 얹어 객체를 만들기 위해 나온 것이다.
모든 instance[[prototype]]이라는 숨김 프로퍼티가 있다
[[prototype]]null 또는 다른 객체의 참조인데, 이 객체를 Prototype이라고 부른다.
JavaScript는 객체에서 자동으로 프로토타입의 프로퍼티를 찾게 되어있다.
이것을 프로퍼티 상속이라 부른다

[[prototype]]안에는 무엇이 들어 있는가?

[[prototype]]을 조회하기 위해서는 __proto__ 코드로 조회해볼 수 있다.
instance가 참조한 classmethod와 프로퍼티가 담겨 있는 것이다.
이것으로 class에서 만들어진 프로퍼티와 method를 instance에서 받아 볼 수 있는 것이다.

profile
주니어 프론트엔드 개발자 입니다

0개의 댓글