더북(TheBook)

예제 3-6 new 객체에 함수를 직접 추가

소스 파일 3장\New Pattern\newpattern_04.js

function Marsupial(name, nocturnal) {
if (!(this instanceof Marsupial)) {
  throw new Error(“이 객체는 new를 사용하여 생성해야 합니다”);
}
this.name = name;
this.isNocturnal = nocturnal;
 
// 각 객체 인스턴스는 자신만의 isAwake 사본을 가진다.
this.isAwake = function(isNight) {
  return isNight === this.isNocturnal;
}
}
 
var maverick = new Marsupial(‘매버릭’, true);
 
var slider = new Marsupial(‘슬라이더’, false);
var isNightTime = true;
 
console.log(maverick.isAwake(isNightTime)); // true
console.log(slider.isAwake(isNightTime)); // false
 
// 각 객체는 자신의 isAwake 함수를 가진다.
console.log(maverick.isAwake === slider.isAwake); // false

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.