생성자 함수
Coddy JavaScript 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 56개 중 4번째.
생성자 함수는 동일한 구조와 동작을 가진 여러 객체를 생성할 수 있게 해주는 JavaScript의 특별한 함수입니다.
Person을 위한 생성자 함수를 정의합니다:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}생성자를 사용하여 새로운 Person 객체를 생성합니다:
const john = new Person("John", 30);
const tyler = new Person("Tyler", 35);위 코드를 실행한 후, john은 다음과 같은 속성을 가진 객체입니다:
// john 객체는 다음을 포함합니다:
{
name: "John",
age: 30,
greet: function() { return "Hello, my name is John"; }
}속성에 접근하고 메서드를 호출합니다:
console.log(john.name); // 출력: John
console.log(john.greet()); // 출력: Hello, my name is John챌린지
- 세 개의 인수를 받는
Book이라는 이름의 생성자 함수를 만드세요:
title(문자열)author(문자열)pages(숫자)
이 함수는 생성된 객체의 속성으로 이 값들을 설정해야 합니다.
2. 책에 대한 정보를 포함하는 문자열을 반환하는 getSummary라는 메서드를 추가하세요: this.title + " was written by " + this.author + " and has " + this.pages + " pages";
치트 시트
생성자 함수는 동일한 구조를 가진 여러 객체를 생성합니다. new 키워드를 사용하여 인스턴스를 생성하세요:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}
const john = new Person("John", 30);
console.log(john.name); // Outputs: John
console.log(john.greet()); // Outputs: Hello, my name is John직접 해보기
// TODO: 세 개의 인자(title, author, pages)를 받는 Book이라는 이름의 생성자 함수를 만드세요.
// TODO: 이 인자들을 생성된 객체의 속성으로 설정하세요.
// TODO: 책에 대한 정보를 담은 문자열을 반환하는 getSummary라는 메서드를 추가하세요.
// 예: Harry Potter was written by Rowling and has 500 pages
// 아래 코드를 수정하지 마세요.
const inputTitle = inp[0]; // 첫 번째 줄: 책 제목
const inputAuthor = inp[1]; // 두 번째 줄: 저자
const inputPages = parseInt(inp[2]);// 세 번째 줄: 페이지 수
const book = new Book(inputTitle, inputAuthor, inputPages);
console.log(book.getSummary());이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.