可以良好的规避其他人修改message多加一个boolean类型导致函数代码不严谨的情况
function foo (message: number | string) {
switch(typeof(message)) {
case: 'number'
return 'number类型'
case: 'string'
return 'string类型'
default:
const check: never = message //这里会报错,不能将除了never的其它任何类型赋值给never
}
}
foo(true) //导致foo函数报错的代码,因为这个代码使switch进入到了default里面,never是不能被赋值的