자바스크립트 프로토타입을 알자

Somang Shim·2023년 12월 1일
1

jacascript

목록 보기
1/2

자바스크립트에서 배열을 만드는 방식에는 크게 두가지가 있습니다.

1.배열 리터럴 방식
const fruits=['banana' ,'apple' , 'kiwi']
2. Array 생성자 함수 방식
const fruits = new Array('banana' ,'apple' , 'kiwi'])

console.log(fruits) 를 찍어보면

prototype 하단에 여러 매소드들이 담겨져 있는걸 볼 수 있습니다.

new 키워드를 통해 생성자 함수에서 반환된 값인스턴스 라고 하는데 그 인스턴스에 속성, 메소드를 등록할 수 있도록 해주는게 바로 프로토타입 객체 인것 입니다!

생성자 함수를 직접 만들어 봅시다!

function Person(name,age){
	this.name = name;
    this age = age ;
}

객체를 생성해주는 생성자 함수를 정의 해주고

const person1 = new Person("potter" , 18)

인스턴스도 만들어 줍니다.

참고로

함수 이름의 첫 글자는 대문자로 시작하고, 반드시 'new' 연산자를 붙여 실행합니다.

console.log(person1)
콘솔에 person 1 을 찍어보면

Person() 에 정의된 객체가 보여집니다.

이 person1 이라는 인스턴스에 매소드를 등록해 봅시다.

Person.prototype.introduce = function(){
	return `제 이름은 ${this.name} 이고 나이는 ${this. age}살 입니다`
}

Person() 이라는 생성자 함수에 introduce()라는 매소드를 등록을 하였으니 person1 인스터스에서 intorduce()매소드를 바로 사용할 수 있게 됩니다.

person1.introduce()

콘솔에 찍어보면

제 이름은 potter 이고 나이는 18살 입니다

가 나오게 되는것이죠!

마지막으로 용어들을 간략히 정의해봅시다!

인스턴스 : 생성자 함수에서 반환된 값
생성자 함수 : 객체를 생성해주는 함수
프로토타입 : 인스턴스에 별도의 속성, 메소드를 등록하는 객체

profile
언제나 당당하고 끈기있게 개발공부 즐기자

0개의 댓글