Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript의 new 키워드, 정확히 무엇이고 어떻게 사용할까?

JavaScript에서 new 키워드는 new 연산자라고 부르며, 사용자가 정의한 객체 타입의 인스턴스를 생성하는 역할을 합니다. 쉽게 말해, 생성자 함수나 내장 객체 생성자 앞에 붙여서 새로운 객체를 만들어내는 도구입니다.

기본 문법

new 연산자의 기본 문법은 다음과 같습니다.

new constructor[([arguments])]

여기서 constructor는 객체를 생성할 생성자 함수 또는 클래스를 의미하고, 필요에 따라 인수(arguments)를 함께 전달할 수 있습니다.

new 연산자가 수행하는 동작

new 연산자가 실행되면 내부적으로 다음 과정이 순서대로 일어납니다.

  • 빈 객체가 하나 생성됩니다.
  • 새로 생성된 객체의 프로토타입([[Prototype]])이 생성자 함수의 prototype 속성으로 설정됩니다.
  • 생성자 함수가 실행되며, 함수 내부의 this는 새로 만들어진 객체를 가리킵니다.
  • 생성자 함수가 명시적으로 객체를 반환하지 않으면, 새로 생성된 객체가 자동으로 반환됩니다.

사용 예제

다음 예제를 통해 new 연산자의 실제 사용 방법을 살펴보겠습니다. 아래 코드는 new Object()로 빈 객체를 생성한 뒤, 여러 속성을 추가하고 화면에 출력하는 예제입니다.

<!DOCTYPE html>
<html>
   <body>
      <p id = "test"></p>
      <script>
         var dept = new Object();
         dept.employee = "Amit";
         dept.department = "Technical";
         dept.technology ="Java";
         document.getElementById("test").innerHTML =
            dept.employee + " is working on " + dept.technology + " technology.";
      </script>
   </body>
</html>

실행 결과

Amit is working on Java technology.

정리

이처럼 new 연산자는 객체 리터럴({}) 방식 외에도, 생성자 함수를 기반으로 객체를 동적으로 생성할 때 유용하게 활용됩니다. 특히 같은 구조를 가진 여러 개의 객체를 반복해서 만들어야 하는 상황에서 코드의 재사용성과 유지보수성을 크게 높여 줍니다. 현대 JavaScript에서는 ES6 클래스 문법과 함께 new 연산자를 사용하는 방식이 널리 권장되고 있습니다.