팩토리 패턴으로 만드는 방법과 생성자로 만드는 방법 2가지가 있다. 객체 재향 프로그래밍을 하고 싶을 때 생성자를 만들어 프로그래밍을 하는 방법을 많이 쓴다고 한다.
this는 기본적으로 window이고 strict모드에서는 undefined이다. 실수로 new를 붙이지 않는다면 아래 코드에서 this는 window를 의미하므로 window의 속성들이 바뀌는 불상사가 발생할 수 있다. strict모드로 하면 new를 안 붙였을 때 에러를 발생시킬 수 있다. 단, 위치가 영향을 미치기 때문에 에러 발생을 원하는 코드 위에 위치시켜야한다.
var prototype ={ type:'카드',}functionCard(name,att,hp){"use strict"//strict 모드가 된다.함수 안이나 밖에서 사용할 수 있다.this.name = name;this.att = att;this.hp = hp;}Card.prototype = prototype;var 제로초 =newCard('제로초',5,10)