Prototype이 뭐에요

hwa.haha·2024년 3월 28일
0

Java Script

목록 보기
3/7
post-thumbnail

Prototype

자바스크립트에서 프로토타입(Prototype)은 객체 지향 프로그래밍에서 객체 간의 상속을 구현하는데 사용되는 메커니즘입니다.
모든 JavaScript 객체는 다른 객체로부터 상속된 프로토타입을 가지고 있습니다. 이 프로토타입은 객체가 가지고 있는 속성과 메서드의 집합입니다. 객체가 어떤 메서드나 속성을 호출할 때, 해당 객체에 해당 메서드나 속성이 없으면 자바스크립트는 이를 객체의 프로토타입 체인을 따라 상위 프로토타입에서 찾습니다.

  1. 객체의 기반이 되는 템플릿: 프로토타입은 새로운 객체를 생성할 때 기본적인 템플릿 역할을 합니다. 새로운 객체는 해당 프로토타입을 상속받아 프로토타입의 속성과 메서드를 사용할 수 있습니다.

  2. 상속과 재사용성: 프로토타입을 사용하면 객체 사이에 상속 관계를 설정하여 코드를 재사용할 수 있습니다. 하위 객체는 상위 객체의 프로퍼티와 메서드를 상속받아 사용할 수 있습니다.

  3. 프로토타입 체이닝: 모든 객체는 자신의 부모 역할을 하는 프로토타입을 가지고 있습니다. 이런 프로토타입은 또다시 다른 객체의 프로토타입을 가질 수 있으며, 이러한 관계를 따라가면서 메서드나 속성을 찾는 것을 프로토타입 체이닝이라고 합니다.

prototype은 유전자역활을 한다.

//여기에 쓰면 자식이 {q: 'strike'} 직접가짐
function 기계(){
  this.q = 'strike';
  this.w = 'snowball';
}
//여기다가 쓰면 부모만 {name:'kim'}가짐
기계.prototype.name = 'kim'
let nunu = new 기계()

var array =[4, 2, 1];
var array =new Array(4, 2, 1);
array.sort()

프로토타입은 JavaScript에서 객체 지향 프로그래밍을 구현하는 핵심적인 개념 중 하나이며, 이를 통해 코드의 재사용성을 높이고 상속 관계를 관리할 수 있습니다.

Function.bind

Function.bind는 함수 객체의 메서드이며, 함수 객체의 프로토타입에 속하는 것이 아닙니다. 그러나 Function.prototype.bind로 정의된 메서드이므로 모든 함수 객체가 이 메서드를 상속합니다.

Function.bind 메서드는 함수의 this 값을 바인딩하고, 필요한 인수를 고정하여 새로운 함수를 생성합니다. 이 메서드는 함수를 호출할 때 함수 내부의 this가 특정한 값으로 고정되도록 할 수 있습니다.

profile
개발자로 차근차근

0개의 댓글