JS로 게임을 만들던 도중
const Devil=()=>{
this.x=0
this.y=0
this.init=function(){
this.y=0
this.x=generateRandomValue(0,canvas.width-64)
devilList.push(this)
}
}
과 같은 함수를 만든후
const createDevil=()=>{
const interval =setInterval(function(){ //1초마다 적군생성
let d= new Devil()
d.init()
},1000)
}
다음과 같이 생성해 주었다.
이때 오류가 발생하였는데
Uncaught TypeError: Devil is not a constructor
at main.js:92:12
다음과 같이 Devil이 생성되지 않았다는 것이다.
이유가 무엇일지 구글링을 통해 알아보았는데
const Foo = () => {};
const foo = new Foo() // TypeError: Foo is not a constructor
다음과 같이 화살표 함수는 생성자 함수로는 사용할수 없게 만들어졌다는 점이었다
POEIMAWAB에서 더욱 자세한 이유를 알 수 있었는데

화살표 함수에는 prototype 프로퍼티를 가지고 있지 않아서 생성자 함수로는 사용할 수 없다는 것이다