생성자와 new

생성자는 객체를 생성해주는 함수로써, 이름은 대문자로 시작하는 약속이 있다.

팩토리 패턴으로 만드는 방법과 생성자로 만드는 방법 2가지가 있다. 객체 재향 프로그래밍을 하고 싶을 때 생성자를 만들어 프로그래밍을 하는 방법을 많이 쓴다고 한다.

this는 기본적으로 window이고 strict모드에서는 undefined이다. 실수로 new를 붙이지 않는다면 아래 코드에서 this는 window를 의미하므로 window의 속성들이 바뀌는 불상사가 발생할 수 있다. strict모드로 하면 new를 안 붙였을 때 에러를 발생시킬 수 있다. 단, 위치가 영향을 미치기 때문에 에러 발생을 원하는 코드 에 위치시켜야한다.

var prototype = {
    type: '카드',
}
function Card(name, att, hp) {
    "use strict"//strict 모드가 된다.함수 안이나 밖에서 사용할 수 있다.
    this.name = name;
    this.att = att;
    this.hp = hp;
}
Card.prototype = prototype;
var 제로초 = new Card('제로초',5,10)

Last updated