물론 기술적으로는 수퍼셋이 맞는데
코딩스타일은 전혀 다른거같아
JS 클래스는 반쪽짜리라서
이걸로 OOP를 하는건 너무 어려움.
OOP에 컨벤션이 필요하면 그게 무슨 의미가 있나.
차라리 함수기반으로 가볍게 짜거나
불변성 라이브러리와 함께 함수형으로 짜는게 훨씬 나아보임
반면에 TS는 OOP를 하기위한 언어임
그래서 기존 디자인패턴을 거의 그대로 쓸수있음
오버로딩이 없는게 조금 아쉽지만 크게 문제없음.
자바, C#스타일을 그대로 가져와서 쓰는게 편하고
애초에 그걸 목적으로 만든 언어같음.
결론은 TS가 JS의 단점을 보완하는 언어라기보다는
JS로 어울리지도 않는 클래스기반 OOP를 하다가
도저히 아니다싶어 새로만든 언어라고 생각함
코딩스타일은 전혀 다른거같아
JS 클래스는 반쪽짜리라서
이걸로 OOP를 하는건 너무 어려움.
OOP에 컨벤션이 필요하면 그게 무슨 의미가 있나.
차라리 함수기반으로 가볍게 짜거나
불변성 라이브러리와 함께 함수형으로 짜는게 훨씬 나아보임
반면에 TS는 OOP를 하기위한 언어임
그래서 기존 디자인패턴을 거의 그대로 쓸수있음
오버로딩이 없는게 조금 아쉽지만 크게 문제없음.
자바, C#스타일을 그대로 가져와서 쓰는게 편하고
애초에 그걸 목적으로 만든 언어같음.
결론은 TS가 JS의 단점을 보완하는 언어라기보다는
JS로 어울리지도 않는 클래스기반 OOP를 하다가
도저히 아니다싶어 새로만든 언어라고 생각함
JS의 OOP는 클래스로 하는 게 아니라서 그럼... 근데 TS도 오버로딩도 있지 않던가
오버로딩을 지원하는건 아닌데 비슷하게 구현은 가능함.
TS가 오버로딩이 왜안됨 잘만될텐데
해봐. 마지막 선언이 이전것들 다 덮어버릴거야. JS에선 인자값 undefined인지 체크하고 TS에선 옵셔널 파라미터로 구현해줘야함.
JS로 트랜스파일되는데, js에서 지원안하는 오버로딩이 어떻게 되냐
아 optional로 처리하긴 해야하지 그말이었구나
ts가 관여하는건 빌드타임이 끝이라, 런타임에 해줘야하는 오버로딩, 오버라이딩 이런건 개념적으로만 된다고 생각해야지