TypeScript Type 선언9 - never

안녕하세요 . 이번에는 새로운 타입인 never에 대해서 알아보겠습니다. never는 그 뜻에서 절대로라는 뜻입니다. 즉 return값이 없다는 것입니다. 그럼 아래 코드를 보도록 하겠습니다. // 에러를 임의로 생성하는 함수 function createError ( message : string , code : number ){ // throw를 이용하여 error를 임의로 준다. throw ({ message , errorCode : code }); } // createError를 사용하여 임의로 에러를 발생 createError ( 'server error' , 500 ); 위 코드를 보면 'createError'는 2개의 변수를 받습니다. message와 code입니다. 하지만 출력은 없습니다. 단지 throw 구문을 이용하여 에러를 출력합니다. 마지막에 createError('server error', 500)을 이용하여 에러를 생성한 결과는 아래와 같습니다. 그렇다면 createError의 return값은 있을까요? 사실 없습니다. try,catch구문을 사용하지 않는이상 사실상 createError함수가 실행되면 다음에 나오는 코드들은 무시가 되고 바로 에러를 출력하게 됩니다. // 에러를 임의로 생성하는 함수 function createError ( message : string , code : number ) : never { // throw를 이용하여 error를 임의로 준다. throw ({ message , errorCode : code }); } // createError를 사용하여 임의로 에러를 발생 createError ( 'server error' , 500 ); 'never'가 없으면 기본값으로 'void'가 출력 type으로 지정이 됩니다. 하지만 never가 더 정확합니다. 실제로 c...