let e : number = 10
let b: string = "반갑습니다"
let g: number[] = [1,2,3,4,5,6]
let h : string[] = ['a','b','c']
interface IProfile {
name : string,
age : number | string,
address : string
hobby?: string
}
const profile2 : IProfile = {
name : "b",
age : 10,
address : "서울"
}
profile2.name = "c"
profile2.age = "10살"
profile2.hobby = "수영"
function add(num1 : number, num2 : number, unit:string):string {
return num1 + num2 + unit
}
const result = add(1000,2000,"원") // 결과의 return타입도 예측이 가능함.
const add2 = (num1 : number, num2 : number, unit:string):string =>{
return num1 + num2 + unit
}
const result2 = add(1000,2000,"원")
let k : any = "a"
k = 123
k = true
기존 js에서처럼 타입을 지정하지않고 만들면 자동으로 타입을 추론해서 만들어짐
let a = "안녕하세요"

이런식으로 타입을 추론하여 적용됨
let j :(string | number)[] = ['a','b','c',1,2,3]
이런식으로 두개이상의 값을 넣고 싶을땐 반드시 직접지정을 해줘야함
추론이 제대로 안됨.
interface IProfile {
name : string,
age : number | string,
address : string
hobby?: string
}
객체에서 ?를 사용해서 값이 있어도 없어도 되는 경우를 만들기 위해서도 반드시 직접 입력을 해줘야함
타입 추론으로는 새로운 값을 추가할 수 없음.