저렇게 하지 말고

setTimeout(()=>{this.next()}, interval);해라. 아니면

setTimeout((e)=>{e.next();}, interval, this) 하던지

JS의 this는 존나 이상하기 때문에 아마 저렇게 하면 this가 core객체가 아니라 document나 window를 가리킬 꺼임