[javascript] 팩토리 패턴과 생성자

6312 단어 JavaScriptJavaScript

팩토리 패턴

프로토타입 객체들간의 공유하는 속성을 넣어두는 것 !
-> 중복을 줄여 한번에 수정하고 한번에 삭제할 수 있게 하기위해 사용한다.

var prototype = {
	type: 'card',
	attack: function() {},
	defend: function(){}
};

function cardFactory(name, att, hp) {
	var card = Object.create(prototype)
	card.name = name;
	card.att = att;
	card.hp = hp;
	return card;
}

var card1 = 카드공장('card1', 10, 20);
var card2 = 카드공장('card2', 50, 100);

생성자

  • 생성자와 프로토타입을 사용해서 객체 생성할때
var prototype = {
	type: 'card'
}

function Card(name, att, hp) {
	this.name = name;
	this.att = att;
	this.hp = hp;
}

Card.prototype = prototype;

var card1 = new Card('card1', 5, 10);

-> 실수로 new를 붙이지 않으면 Card안의 thiswindow가 되기 때문에 window.name 이 'card1'이 된다.

use strict

function Card(name, att, hp) {
	"use strict"
	this.name = name;
	this.att = att;
	this.hp = hp;
}

엄격모드 사용하는 경우 new를 쓰지 않았을때 에러가 남. 엄격모드 아래의 코드들이 적용됨.

좋은 웹페이지 즐겨찾기