티스토리 뷰

// 객체 정의 시작
    var Person = function(name, age){
      this.name = name;
      this.age = age;
    };

    Person.prototype.say = function(){//prototype영역, 공유영역
      console.log(this.name);
    };
//객체 정의 종료

    var jin = new Person('jin', '19');//인스턴스(객체) 생성
    var jong = new Person('jong', '24');

    // jin.say();
    // jong.say();
    // console.dir(jin);// constructor is Person

    var literalObj = {};// 인스턴스(객체) 생성

    // console.dir(literalObj ); //constructor is Object
    // literalObj.prototype.say = function(){
    //   console.log('literalObj');
    // }  ==>TypeError: literalObj.prototype is undefined
    console.dir(literalObj.prototype);//undefined


// 알 수 있는 점

1. 객체 리터럴로 객체생성 방법으로는 prototype영역 정의를 할 수 없다.

2. prototype영역을 사용하려면 객체 생성 전에 정의를 미리 해야한다.

     --> 생성된 객체(인스턴스)가 공유하는 메소드들을 정의하기 위해서는 prototype영역을 사용해야한다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함