[javascript] 객체와 프로토타입

자바스크립트는 객체 기반의 프로그래밍 언어이며, 프로토타입 기반 상속을 사용하여 객체지향 프로그래밍을 지원합니다. 이 글에서는 자바스크립트의 객체와 프로토타입에 대해 살펴보겠습니다.

객체

자바스크립트의 모든 것은 객체입니다. 객체는 속성과 메소드를 가질 수 있는 자료구조이며, 중괄호로 둘러싸인 키-값 쌍의 형태를 갖습니다. 객체는 다양한 방법으로 생성할 수 있으며, Object 생성자 함수를 사용하여 생성할 수도 있습니다.

// 객체 생성 방법 1
const obj1 = {
  key1: 'value1',
  key2: 'value2'
};

// 객체 생성 방법 2
const obj2 = new Object();
obj2.key1 = 'value1';
obj2.key2 = 'value2';

프로토타입

자바스크립트의 모든 객체는 프로토타입을 갖습니다. 프로토타입은 다른 객체에 대한 참조를 갖는데, 이를 통해 상속과 객체 간의 연결을 구현합니다. 모든 객체는 prototype 속성을 통해 프로토타입을 가리키는 링크를 유지하고 있습니다.

// 프로토타입 생성
const parentObj = { key: 'value' };

// 프로토타입을 가진 객체 생성
const childObj = Object.create(parentObj);
console.log(childObj.key); // 'value'

프로토타입 기반 상속을 통해 자바스크립트에서 객체 지향 프로그래밍을 구현할 수 있습니다.

프로토타입을 통한 상속 및 객체 생성에 대한 보다 자세한 내용은 이 참조를 확인할 수 있습니다.

자바스크립트에서 객체와 프로토타입의 동작 원리를 이해하면, 보다 유연하고 효율적인 코드를 작성하는 데 도움이 될 것입니다.