Menu
Coddy logo textTech

new 키워드

Coddy JavaScript 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 56개 중 5번째.

JavaScript의 new 키워드는 객체 생성을 위한 템플릿 역할을 하는 생성자 함수의 인스턴스를 만드는 데 사용됩니다.

Person을 위한 생성자 함수를 작성하세요:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    return "Hello, my name is " + this.name;
  };
}

new 키워드를 사용하여 인스턴스를 생성합니다:

const john = new Person("John", 30);

위 코드를 실행한 후, john은(는) 속성과 메서드를 가진 객체입니다:

  • john.name은(는) "John"입니다
  • john.age는 30입니다
  • john.greet()은(는) "Hello, my name is John"을(를) 반환합니다

new 키워드가 없으면, this는 새로운 인스턴스가 아니라 전역 객체(또는 엄격 모드에서는 undefined)를 가리키게 됩니다.

challenge icon

챌린지

Car 객체 생성 및 설명 출력하기

자동차 객체를 생성하는 생성자 함수가 주어집니다. 여러분의 작업은 다음과 같습니다:

  1. new 키워드를 사용하여 새로운 자동차 객체를 생성하고, 이름으로 "Honda"를, 연도로 2018을 전달합니다.
  2. 자동차 객체에서 getDescription 메서드를 호출합니다.
  3. 결과를 콘솔에 출력합니다.

치트 시트

new 키워드는 객체의 템플릿 역할을 하는 생성자 함수의 인스턴스를 생성합니다.

생성자 함수 정의하기:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    return "Hello, my name is " + this.name;
  };
}

new를 사용하여 인스턴스 생성하기:

const john = new Person("John", 30);

속성과 메서드에 접근하기:

john.name // "John"
john.age // 30
john.greet() // "Hello, my name is John"

new가 없으면, this는 새 인스턴스 대신 전역 객체(또는 엄격 모드에서는 undefined)를 가리킵니다.

직접 해보기

function Car(name, year) {
    this.name = name;
    this.year = year;
    
    this.getDescription = function() {
        return "This is a " + this.name + " from " + this.year;
    };
}

// TODO: new 키워드를 사용하여 새로운 car 객체를 생성하고, 이름으로 "Honda"를, 연도로 2018을 전달하세요.

// TODO: car 객체의 getDescription 메서드를 호출하고 그 결과를 콘솔에 출력하세요.



quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

객체 지향 프로그래밍의 모든 레슨