📗
TIL
  • About
  • javascript
    • GoodParts
      • 프로토타입 방식
      • RegexComponent
      • 재귀적 호출 (Recursive Call)
      • 객체를 기술하는 객체
      • 예외 (Exception)
      • 호출
      • 문자열 (Strings)
      • 참조 (Reference)
      • 배열의 특성들
      • 숫자 (Numbers)
      • 메모이제이션 (Memoization)
      • 모듈 (Module)
      • 열거 (Enumeration)
      • 정규 표현식
      • 정규 표현식 객체 생성
      • 프로토타입 (Prototype)
      • 콜백 (Callback)
      • 문장 (Statements)
      • 함수 표현식 요약
      • 의사 클래스 방식 (Pseudoclassical)
      • 함수를 사용한 방식
      • 클로저 (Closer)
      • 배열 (Array)
      • 기본 타입에 기능 추가
      • 자바스크립트 분석
      • 인수 배열(arguments)
      • Function
      • 유효범위(Scope)
    • YouDon'tKnowJS
      • 타입
      • Native
      • 명시적 강제변환
      • 문자열
      • 함수 vs 블록 스코프
      • 클로저
      • 배열
      • 숫자
      • 연산자 우선순위
      • 스코프
      • 암시적 강제변환
      • 래퍼
      • Statement
      • 호이스팅
      • Coercion
    • javascript
Powered by GitBook
On this page

Was this helpful?

  1. javascript
  2. GoodParts

프로토타입 방식

  • 순수한 프로토타입 기반 패턴에서는 클래스가 필요없다

  • 새로운 객체는 기존 객체의 속성들을 상속받을 수 있다

var myMammal = {
  name: 'Herb the Mammal',
  get_name: function() {
    return this.name;
  },
  says: function() {
    return this.saying || '';
  }
};
  • 일단 위와 같은 객체를 생성하고 나면 Object.create 메소드를 사용해 이 객체의 더 많은 인스턴스를 만들 수 있다

  • 그 후 이렇게 새로 만든 인스턴스를 필요에 맞게 맞춤화할 수 있다. 즉 인스턴스에 원하는 대로 메소드나 속성들을 추가할 수 있다

var myCat = Object.create(myMammal);
myCat.name = 'Henrietta';
myCat.saying = 'meow';

myCat.purr = function(n) {
  var i, s = '';
  for (i=0; i<n; i++) {
    if (s) {
      s += '-';
    }
    s += 'r';
  }
  return s;
};

myCat.get_name = function() {
  return this.says + ' ' + this.name + ' ' + this.says()
}
PreviousGoodPartsNextRegexComponent

Last updated 4 years ago

Was this helpful?