[TIL] 20220909

yes·2022년 9월 9일
0

TIL 💌

목록 보기
17/55
  • 자바스크립트 딥 다이브(프로퍼티 어트리뷰트, 생성자 함수에 의한 객체 생성, 함수와 일급 객체) 공부
  • 스터디 검색 페이지 정적이게 페이지 만드는 중
  • 오랜만에 비록 한 문제지만 알고리즘 풀었습니다

왜 생성자 함수가 필요하고 왜 클래스가 필요한 지에 대해서 이해해자

🔑 바인딩
바인딩이란 식별자와 값을 연결하는 과정을 의미한다. 예를 들어, 변수 선언은 변수 이름(식별자)과 확보된 메모리 공간의 주소를 바인딩하는 것이다. this(키워드로 분류되지만 식별자 역할을 한다)와 this가 가리킬 객체를 바인딩하는 것이다.

프로퍼티 어트리뷰트

자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰기본값으로 자동 정의한다. 프로퍼티의 상태란 프로퍼티의 값, 값의 갱신 가능 여부, 열거 가능 여부, 재정의 가능 여부를 말한다.

프로퍼티의 종류

  • 데이터 프로퍼티
    키와 값으로 구성된 일반적인 프로퍼티다.
  • 접근자 프로퍼티
    자체적으로는 값을 갖지 않고 다른 데이터 프로퍼티의 값을 읽거나 저장할 때 호출되는 접근자 함수로 구성된 프로퍼티다.

생성자 함수에 의한 객체 생성

객체 리터럴에 의한 객체 생성 방식의 문제점

객체 리터럴에 의한 객체 생성 방식은 직관적이고 간편하다. 하지만 객체 리터럴에 의한 객체 생성 방식은 단 하나의 객체만 생성한다. 따라서 동일한 프로퍼티를 갖는 객체를 여러 개 생성해야 하는 경우 매번 같은 프로퍼티를 기술해야 하기 때문에 비효휼적이다.

생성자 함수에 의한 객체 생성 방식의 장점

생성자 함수에 의한 객체 생성 방식은 마치 객체(인스턴스)를 생성하기 위한 템플릿(클래스)처럼 생성자 함수를 사용하여 프로퍼티 구조가 동일한 객체 여러 개를 간편하게 생성할 수 있다.

0개의 댓글