✍ Type
// Alias type
type Player = {
name: string,
// optional type
age?: number
}
constt nico : Player = {
name:"nico"
}
const lynn : Player = {
name:"lynn",
age: 12
// argument type, function return value type
function playerMaker(name:string) : Player {
return {
name
}
}
const playerMaker = (name:string) : Player => ({name})
const nico = playerMaker("nico")
nico.age = 12
any
Typescript로부터 빠져나오고 싶을 때 사용하는 타입이다.
말 그대로 아무 타입이나 될 수 있다.
=> typescript로부터의 보호장치를 잃어버리는 셈이다.
=> 에러가 나지 않는다.
const a : any[] = [1,2,3,4]
const b : any = true
a + b
Typescript에서 중요한 것은 Type Checker와 소통하는 것이다!
// 변수의 타입을 미리 알지 못할 때 사용한다.
let a:unknown;
if(typeof a === 'number') {
let b = a + 1;
}
if(typeof a ==='string') {
let b = a.toUpperCase();
}
// 아무것도 return 하지 않는 함수를 대상으로 사용한다.
function hello() {
console.log("x");
}
// 보통 void는 따로 지정해 줄 필요가 없다.
// typescript는 함수가 아무것도 return 하지 않는다는 것을 자동으로 인식하기 때문에
function hello1() : void {
console.log("x");
}
// 함수가 절대 return하지 않을 때 발생한다.
// 예) 함수에서 예외가 발생할 때
// never는 거의 사용하지 않음
function hello(name:string|number) {
if(typeof name === "string") {
} else if(typeof name === "number") {
} else {
// 이 코드는 절대 실행되지 않아야 한다.
// 타입이 올바르게 들어오면 이 코드는 작동하지 않는다.
name
}
}