JSFiddle - React, Tailwind, and code Playground
by kornim
HTML
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>
JavaScript
// Javascript Inside
// 6.2.1 프로토타입에 의한 상속
// person 객체 생성
var person = {
name: "zzoon",
getName: function() {
return this.name;
},
setName: function(arg) {
this.name = arg;
}
};
/*
// 1. 상속문
function create_object(o) {
function F() {};
F.prototype = o;
return new F();
}
// 2. person 객체를 상속할 student 객체 생성
var student = create_object(person);
*/
// 풀어서 적은 위의 1과 2를 간소화한 코드
var student = Object.create(person);
//
student.setName("me");
console.log(student.getName());
// 확장 함수 정의
function extend(obj, prop) {
if (!prop) { prop = obj, obj = this;}
for (var i in prop) obj[i] = prop[i];
return obj;
};
// 확장을 위한 added 객체와 프로퍼티 생성
// added 객체는 extend() 함수에서 prop에 해당한다
var added = {
setAge: function(age) {
this.age = age;
},
getAge : function() {
return this.age;
}
};
extend(student, added);
student.setAge(25);
console.log(student.getAge());