http://blog.ggaman.com/1003 서두자바스크립트를 공부하고, 실제로 사용하려고 했지만, 너무나 어려웠다. 가장 어렵다고 생각한 부분이 "자동완성"을 제대로 지원하지 않는것.
Type이 정확하지 않기 때문에, 내가 parameter로 전달해야 하는것도 명확하지 않았고, 모든것을 다 알고(혹은 외우고) 호출해야 하는 일이 어려웠다.
그래서 타입스크립트를 공부해 보기로 결심.
에이콘 출판사의 "타입스크립트 마스터 2/e - 예제로 배우는 타입스크립트"를 구매 했다.
출판사에 있는 정오표에 표시된 것 말고도 잘못 된 곳이 보여, 이곳에 정리해 두고자 한다. 지금 발견한건 딸랑 하나라.. 나중에 더 추가 될 수 있을지 모르겠다.
책을 다 읽었다. 당근 완벽하게 모든 내용을 이해한건 아니다. ㅋㅋ 아래 내용중 내가 잘 모르는 상태로 "잘못됐다"라고 이야기 하는것도 있으니, 이 글을 읽는 사람이 잘 가려서 읽기를 바란다.
책 후기TypeScript의 문법은 거의 java와 비슷하다. 좀 다른게 있다면
변수나 함수의 type을 정의 할 때, 변수명 뒤 쓰는 형태 public id : string;interface 정의에 field도 정의할 수 있음 interface A { id:string }field에 접근할 때, get set 키워드를 통해서 hooking 할 수 있음 get id() { return this._id; }읽기 전용 속성은 final 대신, readonly readonly name: string;여러개의 type을 받고 싶을때는 Object 대신 any var a : any = "aa"여러개의 정해진 type(Union)을 받고 싶을때는 Object 대신 | var a : string|number;함수의 파라미터에서 같은 타입의, 다른 갯수에 대한 오버로딩시 모두 각각 정의하는 대신 ? 사용 funnction a( b: string, c?: string, d?: string) { ... }함수의 파라미터에서 타입이 다른 오버로딩시 모두 각각 정의하는 대신 아래 문법 사용
function a ( b: string, c: string) : string; function a ( b: number, c: number) : number; function a ( b: any, c: any) : any { // code }상속 받은 클래스의 생성자에서는 반드시 super()를 수동으로 불러줘야 한다. Java에서는 super()가 자동으로 호출 되지만, 타입스크립트는 그렇지 않음. 자동으로 호출해 주자는 건의(?)가 많았지만, JavaScript의 super-set이라는 등의 이유로 안된듯 하다.
|