// default
$ tsc
// tsc watch 타입스크립트 파일을 지켜본다는 의미. 켜놓고 작업하면 저장할 때마다js파일 알아서 갱신됨.
$ tsc -w
// tsconfig 파일 설정 상관없이 디폴트 설정으로만 실행
$ tsc index.ts
function 함수<Type>(x :Type[]) :Type {
}
interface lengthCheck {
length: number
}
function 함수H<T extends lengthCheck> (x :T) :number {
return x.length;
}
console.log(함수H<string>('hel'))
console.log(함수H<string[]>(['kin', 'pack']))
<>
형태로 Type을 파라미터로 입력할 수 있음. Type extends string
과 같이 extends 써서 타입파라미터부터 제한을 걸어줄 수도 있음.// rest 파라미터를 쓰는 경우 파라미터가 몇개 들어올 지 모른다는 뜻으로 사용하지만
// tuple과 같이 사용하면 rest 파라미터만 쓰고 array로 타입지정하는 것 보단 엄격하게 제한할 수 있음.
function 함수J(...rest :[string, boolean, ...(number|string)[]]) {
}
declare
키워드로 재정의하기// data.js
var a = 10;
var b = { name : 'kim' };
declare let a :number;
console.log(a + 1);
타입만
정의해놓은 파일export
해서 사용해야함. ( d.ts 파일은 글로벌 모듈이 아니라서 export / import 해서 사용 가능)ambient module
: typescript에서는 import, export 없이도 타입을 같은 폴더 내 다른 파일에서 가져다 쓸 수 있음. ts 파일에 입력한 변수와 타입들이 전부 global 변수 취급받기 때문GitHub - ein214/typescript_prac: typescript study