1 minute read

유사한 객체 여러 개 만들 때 new 연산자와 생성자 함수 사용

  • 생성자 함수

    객체 return

    생성자 함수와 일반 함수에 기술적 차이 없음

    재사용 할 수 있는 객체 생성 코드 구현

    두 가지 관례 따름

    1. 함수 이름의 첫 글자는 대문자

    2. 반드시 new 연산자 붙여 실행

    • 알고리즘
    1. 객체 만들어서 this 객체에 할당

    2. 함수 본문 실행

    3. this 에 새로운 프로퍼티 만들며 수정

    4. 참조(이름)값이 this 인 객체 반환

  • new Function

    재용할 필요가 없는 복잡한 객체 만들 시 코드를 익명 생성자 함수로 감싸주는 방식 사용 가능

    재사용 막고 코드 캡슐화 가능

  • new.target 과 생성자 함수

    new.target 프로퍼티 사용 시 함수가 new 와 함께 호출됐는지 알 수 있음

    활용하여 new 안 붙여도 동일하게 동작 만들 시 코드가 무슨 일 하는 지 정확히 모르게 되므로 지양

  • 생성자와 return 문

    생성자 함수엔 보통 return 문 없음

    return 문 있을 시 규칙

    • 객체 return 시, this 대신 객체 반환

    • 그 외의 경우 return 문 무시

  • 괄호 생략하기

    인수 없는 생성자 함수 괄호 생략 가능

  • 생성자 내 메서드

this 에 메서드 더 하기 가능

요약

  • 생성자 함수와 new 연산자로 유사한 객체 생성 가능

  • new 연산자와 함께 호출 시 this 참조값 가진 암묵적인 객체 return

  • 생성자 함수는 일반 함수이지만 구분 위해 첫 글자 대문자 사용

  • 생성자 내 프로퍼티로 자료형, 메서드 가능

Categories: ,

Updated: