반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 컴퓨터공학
- 컴퓨터비전
- 데이터베이스
- 네트워크보안
- 코딩
- 데이터과학
- 알고리즘
- I'm Sorry
- 클라우드컴퓨팅
- 자료구조
- 컴퓨터과학
- 보안
- 소프트웨어공학
- 빅데이터
- Yes
- 소프트웨어
- 인공지능
- 머신러닝
- 프로그래밍
- 파이썬
- 버전관리
- 데이터구조
- 웹개발
- 프로그래밍언어
- 네트워크
- 딥러닝
- 2
- 사이버보안
- 데이터분석
- 자바스크립트
Archives
- Today
- Total
스택큐힙리스트
JavaScript에서 'new' 키워드란 무엇인가요? 본문
반응형
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