타입추론(Type Inference)
- 타입을 명시하지 않았을 시 할당된 값을 보고 타입을 추론하여 지정함
let num01 = 10;
num01 = '10';
//오류발생
Type 'string' is not assignable to type 'number'.ts
타입명시(Type Annotations)
- 변수 선언시 타입 명시
- 함수에도 void 또는 return 타입을 명시가능
function hello(name: string):void {
console.log(`hello ${name}!`);
}
hello('woogie');
-> hello woogie!
class Person {
name:string;
age:number;
constructor(name:string, age:number){
this.name = name;
this.age = age;
}
}
function convertToPerson(name:string, age:number):Person {
return new Person(name, age);
}
const person01 = convertToPerson('woogie', 28);
console.log(`name: ${person01.name}`);
console.log(`age: ${person01.age}`);
-> name: woogie
-> age: 28