Typescript 문법 3

Lia·2024년 4월 1일
0
post-thumbnail

✅ unknown

  • 변수의 타입을 미리 알지 못할 때 unknown사용
  • 만약 api에서 응답받아오는데 타입이 뭔지 모르면 ?
let a:unknown

🚫 let b = a + 1 // a의 타입이 unknown이잖아 !

if(typeof a === 'number'){ // 체크를하자. 그럼 허용해줌.
    let b = a + 1
}

🚫 let b = a.toUpperCase

if(typeof a === 'string'){
    let b = a.toUpperCase()
}

✅ void

아무것도 return하지 않는 함수에서 반환 자료형
function hello() {
    console.log('x')
}
const a = hello()
🚫 a.toUpperCase()

✅ never

// void는 아래코드처럼 아무것도 return하지 않는 순수함수.
funtion hello (): void // 굳이 명시하지않아도 됨.

funtion hello () {
	console.log("x")
}

// 함수가 절대 return하지 않을 때 never 사용
function hello():never {
    throw new Error("zzz")
    🚫return "a"
}

// 타입이 두가지인 상황일때 
function temp(name:string|number):never {
    if(typeof name === "string"){
        name
    } else if(typeof name === "number"){
        name
    } else {
        name
    }
}

if 안에서는 string형의 name 반환
else if 안에서는 number형의 name 반환
else 안에서는 never형의 name 반환
⇒ 즉, 제대로 인자가 전달되었다면 else로 올 수 없음

profile
https://lia-portfolio.vercel.app/

0개의 댓글