ADUN.Class를 다시만듬
좀 더 직관적으로..
1. class(parent, child) 방식은 직관적이지 못함
상속할게 없으면 빈객체를 너줘야하는데..
2. class.create / class.extend로 두개를 나눴지만 역시..
고로 좀더 개선함
상속할 클래스를 extend프로퍼티의 값으로 너줌으로써 좀더 직관적이게 만듬
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | var Person = Adun.Class({ init: function(name) { this.name = name; } }); var Student = Adun.Class({ extend: Person, init: function(name, age) { this.super(name); this.age = age; } }); var a = new Student('아둔', 25); | cs |
Utils를 추가함
언더스코어를 참조 많이하였고 없는부분은 제이쿼리도 참조
each 메서드 같은경우는 opt 내부함수 좀더 공부가 필요..
extend메서드 추가
-> 프로토타입 기반으로 얕은 복사, 깊은 복사 확장 가능,
일렉트론 어떻게 까냐 시발년아
ㄴ 할줄모르면 하지말아라
이건 갠적인 내생각인데 앞으로 js클래스가 나올거지만 클래스가 지원되지 않는 현존 클라단계에서의 클래스구현은 자바스크립트에선코드를 더욱 난해하게 만든다고 봄.
그냥 프로토타입을 직접적으로 확장하는식으로 코드재사용을 유도하는게 젤 직관적임. 대신 클래스의 생성단계를 제어할수 없지만 그건 클래스언어 라이브러리코드들이 상속을 통한코드재사용이 빈번할때 이야기지 js의 대부분의 라이브러리나 코드들은 네임스페이스를 활용하지 클래스를 활용하지않음. 따라서 나 또는 몇명의 그룹내에서의 코드작성은 굳이 생성단계까지 상속으로 반드시 제어해야하는 경우가 거의없다고봄.
ㄴ 저기서 Class는 네임스페이스일뿐임 구조적은로 안은 일반적인 프로토타입확장방식임.. 그리고 내가만들려하는 라이브러리는 게임라비르러리이기때문에 코드재사용이 빈번함
js클래스 있는뎅
엔타로아둔
js 클래스가 어딨어 function이랑 prototype갖고 흉내만 내는거지
있는데
class foo extends bar{ constructor(p) { super(); this.p = p; } } 이런식으로 하면됨
그건 6명세고 지금은 컴파일하거나 서버에서밖에 슬수없고 내가 말하는건 현존 클라단계. 6이상이면 저런 클래스구현을 애초 할필요가 없지. 이건 취향문제라고 해야하나... 나도 더글라스 그 유명한 클래스상속 썼었음. 근데 복잡도가 늘어나면서 직접적으로 prototype을또 건들일때가 있었음. 그러다보니 처음은 클래스를 흉내낼려던거에서 이건 클래스도 아니고 프로토타입도 아닌게 되버렸음.
바벨돌리면 하위호환 되는뎅
그리고나서 js가 아니라 딴 언어에서 기발한게 뛰어난게 아니라 가장 평범한게 우아한거다 식의 트렌드를 겪고나서 js에도 과연 애초 프로토타입을 목적으로 설계된걸 굳이 그걸 뛰어넘어서야할 필요가 있나 싶은 고민을 했었음.
전 클래스로 상속하는것보다 믹스인으로 쓰는게 넘나 맘에들음
그래서 가능한 클래스는 만드는데 상속은 안함
요즘 하다보면 JS도 컴파일 꼭 해야하는것 같음 다른건 몰라도 모듈문제 때문에
oniiion//되버렸->돼버렸 (되어 = 돼임) [리듬 맞춤법 봇♬]