#TIL15

전혜린·2021년 8월 7일
0

Today I Learned

목록 보기
20/64

생성자 함수(prototype)

  • fisrtName, lastName : 속성
  • getFullName : 메소드(속성에 함수 데이터가 할당되어 있으면 메소드라 부름)
  • 속성과 메소드를 통틀어서 멤버(Member)라고도 부름
  • this: this가 소속되어져 있는 함수가 실행되는 객체데이터를 지칭
  • 항상 변수의 이름이 바뀔 수 있음을 염두하여 객체의 이름을 직접적으로 명시하는 것 보다는 this를 이용하여 객체데이터를 지칭하는 것을 권장

    const hyerin = {
    firstName: 'hyerin',
    lastName: 'jeon',
    getFullName: function () {
    return ${this.firstName} ${this.lastName}
    }

// return ${this.firstName} ${this.lastName}
= return ${hyerin.firstName} ${hyerin.lastName}

 

  • getFullName은 로직이 동일하므로 통일화해서 메모리를 좀 더 효율적으로 관리 하는 것이 좋음
  • User라는 함수에 숨어져 있는 prototype 속성 부분에 getFullName을 할당하여 메모리에 한번만 만들어서 참조하는 방식으로 사용
  • this라는 것은 생성자 함수를 통해서 그것이 할당 되어져있는 앞에 있는 객체 부분의 그 내용을 지칭

    function User(first, last) {
    this.firstName = first
    this.lastName = last
    }
    User.prototype.getFullName = function () {
    return ${this.firstName} ${this.lastName}
    }

const hyerin = new User('hyerin', 'jeon') // this = hyerin
const amy = new User('amy', 'clarke') // this = amy
console.log(hyerin.getFullName())
console.log(amy.getFullName())

  • new 라는 키워드를 통해 User라는 생성자 함수 실행
  • 생성자함수 : 무언가를 생성 한다는 의미 즉, 하나의 객체데이터를 생성
  • new 라는 키워드로 함수를 생성하는 생성자함수와 일반함수를 구분하기 위해 암묵적으로 PascalCase로 작성함

인스턴스

  • new 라는 키워드를 통해 생성자 함수로 실행한 결과를 반환해서 할당된 변수를 생성자 함수의 인스턴스라고 부름
  • const hyerin, const amy = 인스턴스

PascalCase

  • camelCase와 기본적으로 동일하나 첫번째 단어도 대문자로 표기한다는 점에서 차이점이 있음
  • 예시) camelCase: theFox , PascalCase: TheFox

리터럴 방식

  • 특정기호만 가지고 데이터를 만들어 내는 것을 리터럴 방식이라고함
  • "A"와 같이 따옴표라는 기호를 통해서 문자데이터를 만들어내는 리터럴방식
  • 중괄호{} 기호를 이용해 객체데이터를, 대괄호[]를 이용해서 배열데이터를 만들어내는 리터럴방식
profile
코딩쪼아

0개의 댓글