prototype
prototype은 유전자, 즉 '원형'을 뜻한다. prototype은 constructor 함수에 생성된다. 따라서 obj를 복제하기 위해 만든 constructor 함수 속 프로토타입에 변수를 만들어 값을 할당해줄 수 있다. prototype은 js가 해당 객체에 기본적으로 제공해주는 함수 등을 가지고 있다. (toLocalString, toString..등)
<script>
function makeObj(a,b) {
// this는 새로 생성되는 Object를 뜻한다.
// 즉, 새로 생성되는 Obj의 name과 age에 다음의 값을 할당하라는 뜻
this.name = a;
this.age = b;
this.sayHi = function() {
console.log(this.name + ' 학생이 Hi함수를 만들었습니다.')
}
}
makeObj.prototype.gender = 'girl';
let obj1 = new makeObj('chali',24)
console.log(obj1)
console.log('obj1.gender',obj1.gender)
</script>
만일 부모의 prototype를 검사해보고 싶으면 __proto__를 사용한다.
__proto__를 이용해, 프로토타입을 강제로 등록해줄 수 있다.
<script>
let father = { 성 : 'kim'}
let children = {}
children.__proto__ = father
console.log(children)
</script>
'JavaScript > JavaScript 기초' 카테고리의 다른 글
[Javascript ES6] 기초 문법 9-2. <JS의 상속> - prototype 을 class로 만들기 (0) | 2022.12.20 |
---|---|
[Javascript ES6] 기초 문법 9-1. <JS의 상속> - prototype 을 Object.create()로 만들기 (1) | 2022.12.20 |
[Javascript ES6] 기초 문법 8. constructor (0) | 2022.12.20 |
[Javascript ES6] 기초 문법 7. default (0) | 2022.12.20 |
[Javascript ES6] 기초 문법 6. Spread Operator (0) | 2022.12.20 |
댓글