기본 타입
- Boolean
- Number
- String
- Object
- Array
- Tuple
- Enum
- Any
- Void
- Null
- Undefined
- Never
const bool: boolean = true;
const num: number = 1;
const str: string = 'hello';
const obj: object = {};
const obj2: { name: string, age: number } = {
name: 'hyex',
age: 100
};
const arr: Array<number> = [1,2,3];
const arrLiternal: number[] = [1,2,3]
const arr2: Array<string> = ['a', 'b', 'c'];
const tuple: [string, number] = ['a', 100];
enum Avengers { Capt, IronMan, Thor }
let hero: Avengers = Avengers.Capt;
let hero: Avengers = Avengers.[0];
const any: any = ['a', 2, true];
const unsueful: void = undefined
function notuse(); void {
console.log('cannot return')
}
function neverEnd(): never {
while (true) { ... }
함수
- 함수의 파라미터(매개변수) 타입
- 함수의 반환 타입
- 함수의 구조 타입
function sum(a: number, b: number): number {
return a + b;
}
sum(10, 20, 30)
sum(10)
function add(a: number, b?: number): number {
return a + b;
}
sum(10)
- javascript는 함수 선언 시에 파라미터의 개수가 몇 개로 정해져있는 지에 대해 에러 처리를 하지 않는다. 하지만 typescript는 이를 엄격하게 제한한다.
- optional parameter를 사용해서 2번째 파라미터를 넘기지 않아도 에러 처리를 하지 않는다.