"JavaScript 프로토타입"의 두 판 사이의 차이

(새 문서: ==개념== ;JavaScript Prototype ;자바스크립트 프로토타입 *자바스크립트는 프로토타입의 기반 언어임 *자바스크립트는 객체 생성시 객체 원형...)
 
8번째 줄: 8번째 줄:
==Object.prototype==
==Object.prototype==
*객체를 생성하면 Object.prototype 이 기본적으로 상속됨
*객체를 생성하면 Object.prototype 이 기본적으로 상속됨
*원형객체에 속성과 메쏘드를 할당함으로 객체를 생성할 때 생성된 모든 객체에 그 내용이 들어가게됨
<source lang="javascript">
<source lang="javascript">
function Person(name, age) {
function Person(name, age) {
13번째 줄: 14번째 줄:
     this.age = age;
     this.age = age;
}
}
Person.prototype.gender = "man";
Person.prototype.gender = "man"; // 생성자의 원형객체에 gender 속성을 할당
Person.prototype.print = function() {
Person.prototype.print됨 = function() { // 생성자의 원형객체에 print 메쏘드를 할당
     console.log(this.name);
     console.log(this.name);
     console.log(this.age);
     console.log(this.age);
25번째 줄: 26번째 줄:
person_b.print();
person_b.print();
</source>
</source>
[[분류: JavaScript]]

2016년 11월 23일 (수) 23:34 판

1 개념

JavaScript Prototype
자바스크립트 프로토타입
  • 자바스크립트는 프로토타입의 기반 언어임
  • 자바스크립트는 객체 생성시 객체 원형인 프로토타입을 이용하여 새로운 객체를 만듬
  • 자바스크립트 언어는 클레스를 지원하지 않음 (ES6부터는 지원함)

2 Object.prototype

  • 객체를 생성하면 Object.prototype 이 기본적으로 상속됨
  • 원형객체에 속성과 메쏘드를 할당함으로 객체를 생성할 때 생성된 모든 객체에 그 내용이 들어가게됨
function Person(name, age) {
    this.name = name;
    this.age = age;
}
Person.prototype.gender = "man"; // 생성자의 원형객체에 gender 속성을 할당
Person.prototype.print됨 = function() { // 생성자의 원형객체에 print 메쏘드를 할당
    console.log(this.name);
    console.log(this.age);
    console.log(this.gender);
}

var person_a = new Person("jmnote", 35);
var person_b = new Person("john", 38);
person_a.print();
person_b.print();
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}