void는 값을 반환하지 않는 함수의 반환 값을 나타냅니다. 함수에 return 문이 없거나 해당 return 문에서 명시적 값을 반환하지 않을 때 항상 유추되는 타입입니다.
// The inferred return type is void
function noop() {
return;
}
unknown타입은 모든 값을 나타냅니다. 이것은 any타입과 비슷하지만 any보다 unknown이 더 안전합니다. 이유는 unknown값으로 작업을 수행하는 것은 합법적이지 않기 때문입니다.
function hello(a: any) {
a.b(); // OK
}
function hello2(a: unknown) {
a.b(); // 에러: Object is of type 'unknown'.
}
일부 함수는 값을 반환하지 않습니다.
이는 함수가 예외를 throw하거나 프로그램 실행을 종료함을 의미합니다.
function fail(msg: string): never {
throw new Error(msg);
}
https://www.typescriptlang.org/docs/handbook/2/functions.html#unknown