js의 function 포로토타입

hey-ri·2023년 2월 5일
0

Js

목록 보기
12/12

js는 객체지향프로그래밍 언어가 아니다.
따라서 함수를 객체로 사용하고, 기존 객체를 복사하여 새로운 객체를 생성하는 프로토타입 언어다.
프로토타입은 객체를 확장하고, 객체 지향적인 프로그래밍을 할 수 있게 해준다.

모든 객체는 프로토타입 객체에 접근 할 수 있다.

function Person () {}

let won = new Person();
let mimi = new Person();

Person.prototype.getType =function(){
	return 'human'; 
}
console.log(won.getType()) // human
console.log(mimi.getType()) // human

또 추가할 수 있는데,

won.getType = function () {
	return '사람';
}

console.log(won.getType()) // 사람
console.log(mimi.getType()) // human

won.age = 10;

console.log(won.age) // 10
console.log(mimi.age) // undefinde

프로토타입 객체는 새로운 객체를 만들 수 있는 원형 객체다.
같은 원형으로 생성된 객체가 공통으로 참조가 가능하다.

proto로 접근이 가능하다.

let animal = {
  eats: true
};

function Rion(name) {
  this.name = name;
}

Rion.prototype = animal;

let Rion = new Rion("사자"); //  Rion.__proto__ == animal

alert( Rion.eats ); // true

참조

0개의 댓글