자바스크립트에서 new 키워드는 새로운 객체를 생성하는 데 사용되는 핵심 문법입니다. 생성된 객체의 속성(값)에 접근하려면 점 표기법(dot notation)을 활용하면 됩니다.
new 키워드의 역할
new 키워드를 함수 앞에 붙여 호출하면 해당 함수가 생성자 함수(constructor function)로 동작하며, 다음과 같은 과정이 자동으로 진행됩니다.
1. 빈 객체가 새롭게 생성됩니다.
2. 생성된 객체의 프로토타입이 설정됩니다.
3. 함수 내부의 this가 새로 생성된 객체를 가리키게 됩니다.
4. 함수 실행이 끝나면 명시적인 return이 없어도 새 객체가 자동으로 반환됩니다.
예제 코드
아래 예제에서는 new 키워드로 객체를 생성한 뒤, 점 표기법으로 firstName 속성에 접근하고 값을 변경합니다.
function newObjectCreation() {
this.firstName = "John";
}
var newObject = new newObjectCreation();
newObject.firstName = "David";
console.log("The first name=" + newObject.firstName);프로그램 실행 방법
위 코드를 실행하려면 Node.js 환경에서 아래 명령어를 입력합니다. 파일 이름은 본인의 파일명으로 지정하면 됩니다.
node fileName.js
이 예제에서 사용한 파일 이름은 demo134.js입니다.
node demo134.js
실행 결과
위 프로그램을 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.
PS C:\Users\Amit\JavaScript-code> node demo134.js The first name=David
코드 설명
1. newObjectCreation() 함수 내부에서 this.firstName = "John";은 새로 생성될 객체에 firstName 속성을 정의합니다.
2. var newObject = new newObjectCreation();에서 new 키워드가 빈 객체를 만들고, 이를 반환하여 newObject 변수에 할당합니다.
3. newObject.firstName = "David";를 통해 기존 값 "John"을 "David"로 덮어씁니다.
4. 마지막으로 console.log()와 점 표기법(newObject.firstName)을 사용해 변경된 값을 출력합니다.
마무리
이처럼 new 키워드는 자바스크립트에서 객체 인스턴스를 만드는 가장 기본적인 방법이며, 생성된 객체의 값은 점 표기법 또는 대괄호 표기법(object["key"])으로 언제든 조회하고 수정할 수 있습니다. 현대 자바스크립트에서는 ES6 클래스(class) 문법도 함께 활용되므로, 두 방식 모두 익혀두면 객체 지향 프로그래밍에 큰 도움이 됩니다.