Typescript :기초부터 실전형 프로젝트까지 with React + NodeJS(유데미) TIL 2일차
function add(n1: number, n2: number): number{
return n1 + n2;
}
function printResult(num: number): void{
console.log('Result:' + num);
}
printResult(add(5,12));
console.log(printResult(add(5,12))); // undefined
undefined보다 void를 주로 사용
함수의 매개변수 및 반환 타입을 정의한다.
let combineValues: Function;
let combineValues: (a: number, b:number) => number;
combineValues = add;
console.log(combineValues(8,8));
function addAndHandle(n1: number, n2:number, cb(num:number) => void){
const result = n1 + n2;
returnVal = cb(result);
}
andAndHandle(10,20,(Result)=>{
console.log(Result);
return Reuslt // 실제로 Return 되지 않는다. void 함수타입이기 때문
});
let userInput: unknown;
let userName: stirng;
userInput = 5;
userInput = 'Max';
if (typeof userInput === 'string'){
userName = userInput
}
userName = userInput // (X)
unknown은 any보다 제한적이다. any보다 나은 선택
function generateError(message: string, code:number): never{
throw {message: message, errorCode: code };
}
// never을 반환하며 반환값을 생성하지 않고
// 스크립트나 스크립트의 일부를 충돌시키거나 망가트리기 위한 것임을 알게한다.
const result = generateError('An Error Occurred!',500);
console.log(result);