js 리팩토