스택큐힙리스트

JavaScript에서 'new' 키워드란 무엇인가요? 본문

카테고리 없음

JavaScript에서 'new' 키워드란 무엇인가요?

스택큐힙리스트 2024. 1. 31. 02:03
반응형

JavaScript에서 new 키워드는 처음 접할 때 꽤 혼란스러울 수 있습니다. 사람들은 JavaScript가 객체지향 프로그래밍 언어가 아니라고 생각하기 때문입니다.



  • 이게 뭔가요?

  • 어떤 문제를 해결하나요?

  • 적절한 상황과 그렇지 않은 상황은 언제인가요?

답변 1

SubObjMaker = function () {};
SubObjMaker.prototype = new ObjMaker(); // 주의: 이 패턴은 더 이상 권장되지 않습니다!
// 'new'를 사용했기 때문에 SubObjMaker.prototype의 [[prototype]] 속성은 ObjMaker.prototype의 객체 값으로 설정됩니다.
// 현대적인 방법은 ECMAScript 5에서 추가된 Object.create()를 사용하는 것입니다:
// SubObjMaker.prototype = Object.create(ObjMaker.prototype);
SubObjMaker.prototype.c = '세 번째';
obj2 = new SubObjMaker();
// obj2의 [[prototype]] 속성은 이제 SubObjMaker.prototype로 설정됩니다.
// SubObjMaker.prototype의 [[prototype]] 속성은 ObjMaker.prototype입니다. 따라서 obj2에는 프로토타입 체인이 있습니다!
// obj2 ---> SubObjMaker.prototype ---> ObjMaker.prototype
obj2.c;
// SubObjMaker.prototype에서 '세 번째'를 반환합니다.
obj2.b;
// ObjMaker.prototype에서 '두 번째'를 반환합니다.
obj2.a;
// SubObjMaker.prototype에서 '첫 번째'를 반환합니다. 이는 SubObjMaker.prototype가 ObjMaker 함수로 생성되어 a를 할당했기 때문입니다.

이 주제에 관해 많은 헛소리를 읽은 후에 마침내 이 페이지에서 이것이 멋진 다이어그램과 함께 아주 잘 설명되어 있습니다.

답변 2

'new' 키워드는 JavaScript에서 객체 인스턴스를 만들 때 사용되는 중요한 키워드입니다. 이 문서에서는 'new' 키워드의 역할과 사용법에 대해 자세히 설명하겠습니다.
JavaScript에서 'new' 키워드는 새로운 객체 인스턴스를 생성하기 위해 사용됩니다. 'new' 키워드를 사용하면 기존의 객체를 복사하여 새로운 인스턴스를 만들거나 생성자 함수를 통해 객체를 초기화할 수 있습니다. 이는 객체 지향 프로그래밍의 핵심 개념 중 하나인 클래스 및 생성자 함수의 역할을 수행합니다.
'new' 키워드를 사용하여 객체 인스턴스를 생성하는 방법은 다음과 같습니다. 먼저, 생성자 함수를 정의해야 합니다. 생성자 함수는 객체를 초기화할 때 필요한 값을 매개변수로 받아와 객체의 속성을 설정합니다. 그 다음에는 'new' 키워드와 함께 생성자 함수를 호출하여 객체 인스턴스를 생성합니다.
예를 들어, 다음과 같은 생성자 함수가 있다고 가정해봅시다.
```javascript
function Person(name, age) {
this.name = name;
this.age = age;
}
```
위의 생성자 함수를 통해 'new' 키워드를 사용하여 객체 인스턴스를 생성할 수 있습니다.
```javascript
var person1 = new Person('홍길동', 30);
var person2 = new Person('김철수', 25);
```
위의 예제에서 'Person'이라는 생성자 함수는 'name'과 'age'라는 매개변수를 받아 객체의 속성으로 설정합니다. 'new' 키워드를 사용하여 이 생성자 함수를 호출하면 'Person' 생성자의 새로운 인스턴스를 생성할 수 있습니다. 이렇게 생성된 객체 인스턴스는 'person1'과 'person2' 변수에 각각 할당됩니다.
'new' 키워드를 사용하여 객체 인스턴스를 생성하면 해당 객체의 속성과 메서드를 사용할 수 있습니다. 예를 들어, 위의 예제에서 'person1' 객체의 속성에 접근하기 위해서는 'person1.name'과 같이 점 표기법을 사용하여 접근할 수 있습니다.
이처럼 'new' 키워드는 JavaScript에서 객체 인스턴스를 생성하기 위해 중요한 역할을 합니다. 생성자 함수를 사용하여 객체를 초기화하고, 'new' 키워드를 통해 해당 생성자 함수를 호출함으로써 객체 인스턴스를 만들 수 있습니다. 따라서 개발자들은 'new' 키워드의 역할과 사용법을 잘 이해하고 상황에 맞게 사용할 수 있어야 합니다. 이를 통해 효율적인 JavaScript 프로그래밍을 할 수 있을 것입니다.

반응형
Comments