우선 하고자 하는건 버튼을 만들어서 return 시켜주는 클래스를 만드는거야.
근데 button(type) 메소드에서 btn 변수를 정의하고 this.btnElem 을 대입했는데 setClassAndText 호출시 매개변수로 전달받은 btn === this.btnElem 이라서
constructor 에서 정의한 this.btnElem 에 영향이 가고있어.
혹시 어떻게해야 독립적으로 작동할까..
우선 하고자 하는건 버튼을 만들어서 return 시켜주는 클래스를 만드는거야.
근데 button(type) 메소드에서 btn 변수를 정의하고 this.btnElem 을 대입했는데 setClassAndText 호출시 매개변수로 전달받은 btn === this.btnElem 이라서
constructor 에서 정의한 this.btnElem 에 영향이 가고있어.
혹시 어떻게해야 독립적으로 작동할까..
CreateButton인스턴스 생성한걸 하나의 개체로 생각해야됨 Class 인스턴스는 는 call by reference니까 조금 더 클래스랑 OOP기초를 다시보는게 좋을듯
아하 아직 이론 지식이 부족한가보네 땡큐
문제가 좀 있네 ㅋㅋ 저 코드에는 여러가지 관심사가 동시에 들어가 있어 1. 버튼을 생성하기 2. 버튼의 속성을 변경하기 3. 동일한 버튼, 동일하지 않는 버튼에 대한 관심사라 뒤섞임 이것부터 일단 명확히 해야함
저 코드를 기준으로 한다면.. 각각 new CreateButton으로 해서 각각 .button을 호출해야 너가 의도한대로 될거야
만약 버튼 생성 객체를 하나 두고 그 객체에 다가 개별적인 타입에 따라 개별적인 버튼 생성을 원한다면 저런 로직을 쓰지 않는게 좋음 차라리 메서드에서 버튼 엘리먼트를 생성하고 그 반환값을 받도록 하는게 좋음 클래스라서 내부적으로 버튼 엘리먼트를 전달받는 방식을 this.btnElem으로 한거 같은데 맞음?
ㅇㅇㅇ constuctor 에서 this.btnElem 로 dom 생성하고 변수에 새로 할당해서 그걸 제어하는 방식이야 근데 내가 생각했던거랑 동작방식이 다르네.. 위에 댓글 참고할게
https://jsfiddle.net/e6bxwnty/
이것도
한번 봐 참고는 될듯
떙큐
니 의도대로 작동시키려면 매번 인스턴스를 새로 생성해야됨. 근데 이걸 굳이 클래스로 만들 이유가 있을까??
클래스를 만드는 이유는 일단 state와 action을 같이 처리하기위한건데 여기에 state는 없음. 클래스는 무거운 문법이야. 함수로 충분한 로직에 클래스를 쓸 필요없어.
생각해보니까 그런거 같아 굳이 클래스를 쓸 필요가 없네..