자바스크립트: Interpreted Language타입스크립트: Compiled Languagenpm i typescript -gnode_modules/.bin/tsctsc source.ts
Primitive type >>1. 오브젝트와 레퍼런스 형태가 아닌 실제 값을 저장하는 자료형 >2. 프리미티브 형의 내장 함수를 사용 가능한 것은 JS 처리 방식 덕분 >3. literal 갑으로 Primitive 타입의 서브 타입으로 표현가능 >4. 래퍼 객체 형태
true / false (default false)상속할때 사용하는 키워드type script 2.1 부터 사용가능셋다 설정이 없으면 전부다 컴파일\->상대 혹은 절대 경로의 리스트 배열\-> exclude 보다 강하다\-> exclude보다 약하다\-> \*같은걸 사
Object를 만드는 blueprint클래스 이전에 object를 만드는 기본적인 방법은 functionJS에도 class는 es6부터 사용 가능OOP을 위한 초석TypeScript 에서는 클래스도 사용자가 만드는 타입의 하나class 키워드를 이용하여 클래스를 만들
helloBasic<string, number>("KIM", 27); // 지정helloBasic(36, 39); // T와 U가 추론이 된다helloArray("Hello", "World");function helloTuple<T, K>(message: T
특정한 값을 정의 해주는 타입정의 해준 타입 이외의 타입을 넣을 경우 에러를 던져준다.
방식배열에 들어가는 요소들의 타입이 다양할 경우다차원 배열의 타입을 정의하는 방법길이와 타입이 고정된 배열JS에는 없고 TS에만 활용 한다.
object 만 사옹하면 객체 인것만 알고 객체 안에 뭐가 있는지는 알 수 없다.객체 리터럴 타입Optional Propertyreadonly : 사용하면 값이 수정되지 않는다.구조적 타입 시스템 ( Property Based Type System )
특정 변수의 타입을 확실히 모를때 사용한다.모든 타입의 값을 할당 받을 수 있다.런타임에서 오류가 발생할 수 있다. 모든 타입의 값을 할당 받을 수 있다.Unknown 타입의 값을 활용하고 싶다면 타입 정제를 시켜주고 사용하여야 한다.
아무것도 없음을 의마하는 타입함수의 경우 아무것도 return 하지 않는 함수를 의미한다.일반 변수의 경우 return은 undifined만 가능하다.정상적으로 종료될 수 없는 함수변수에는 어떠한 값도 담을 수 없다.any 타입의 값도 담을 수 없다.
슈퍼 타입: 부모 타입이라고도 부른다.서브 타입: 자식 타입이라고 부른다.1) 업 캐스팅: 슈퍼타입이 서브타입을 가지는 것.2) 다운 캐스팅: 서브타입이 슈퍼타입을 가지는 것.타입 스크립트는 업 캐스팅은 가능하지만 다운 캐스팅은 불가능 하다.
기본 타입 Union객체 Union Type기본 타입의 Intersection Type은 never의 경우가 많다.객체 타입의 Intersection Type은 조합하는 객체 타입의 모든 값을 가지고 있어야 한다.