영역별/JavaScript

Ts:세번째 변수

brandNuWs 2022. 5. 12. 21:51
//unknown 변수

// 만약에 api로 값을 받았을때 파라미터의 타입이 뭔지 모를경우 강제시킴
let a : unknown; 

//let b = a + 1; // Object is of type 'unknown'

if(typeof a === "number"){
let b = a + 1
}
if(typeof a === "string"){
let b = a.toUpperCase
}
function hello():void {
console.log("hello bro");
}
function hello2() {
console.log("hello bro");
}

//never 타입 -> 절대 리턴을 하지 않은 경우 never 타입사용
function hello3():never {
throw new Error("holly")
// error 혹은 exception 발생과 같이 리턴이 절대 발생하지 않을 상황에 허용
}

function hello4():never {
return "holly" // error
}

function hello5(name:string|number){
// let a = name -> //Error : 타입이 정해지지 않아 리턴되지 않음
if(typeof name === "string"){
let a = name
}else if(typeof name === "number"){
let a:number = name // 명시적으로 number type표기 : 굳이 필요없음
}else{
name
// name 변수의 타입이 둘중 하나라도 맞아야 실행되는 상황이라 else로 빠질경우가 애초에 없음 / 라턴을 해줄일이 없으므로 name : type -> never
}
}

 

'영역별 > JavaScript' 카테고리의 다른 글

Ts: overloading  (0) 2022.05.12
Ts: call signature  (0) 2022.05.12
Ts:두번째 변수  (0) 2022.05.12
Ts:변수의 지정 및 재사용  (0) 2022.05.12
Js:변수 및 호이스팅  (0) 2022.05.04