let str = 'hello';
let str: string = 'hello';
TIP
위와같이:
를 이용하여 자바스크립트 코드에 타입을 정의하는 방식을 타입표기(Type Annotation)이라고 한다.
let num: number = 10;
let arr: Array<number> = [1,2,3];
let items: number[] = [1,2,3];
let arrStr: Array<string> = ['one','two','three'];
let items: string[] = ['one','two','three'];
정해준 type과 다를 경우 오류를 보여준다.
let address: [string,number] = ['gangnam',100];
let obj: object = {}
// 튜플로 작성하기
let person: {name:string, age:number} = {
name: 'young',
age:26
}
let show: boolean = true;
let str: any = 'hi';
let num: any = 10;
let arr: any = ['a',2, true]
undefined
와 null
만 할당하고, 함수에는 반환 값을 설정할 수 없는 타입이다.let unuseful: void = undefined;
function notuse(): void {
console.log('sth');
}
enum Colors {Red, Liem, Yellow}
let color: Colors = Colors.Red;
enum Colors {Red, Liem, Yellow}
let color: Colors = Colors[0];
enum Colors {Red = 2, Liem, Yellow}
let color: Colors = Colors[2]; // Red
let color: Colors = Colors[4]; // Yellow
Enums 자세히 보기
function sum(a:number, b: number) {
return a + b
}
sum(2,3) // 5
function sum(a:number, b: number): number {
return a + b
}
sum(2,3) // 5
function add(): number {
return 20;
}
function func(a:number, b:number): number {
return a + b;
}
func(10, 20); // 30
func(10,20,30,40) // error, too many parameters
func(10) // error, too few parameters
정의된 매개 변수 값을 초과할 경우 오류가 난다.즉 받을수가 없다.
function log(a:string , b:string){
console.log(`a:${a}, b:${b}`);
}
log('hello world'); // error, too few parameters
선택적으로 파라미터를 받고 싶다면
?
(물음표)를 이용해서 오류를 해결할수 있다.function log(a:string , b?:string){ console.log(`a:${a}, b:${b}`); } log('hello world');
참고
함수 타입스크립트북
캡틴판교_타입스크립트 입문