这两天工作有点忙,忘记更新了,不好意思啊!
今天来说两个容易混淆的点。
void和never
这两个用来定义函数的返回值类型。默认情况下,函数是返回的void,即在没有设置返回值的情况下或者返回undefined。
而never表示函数永远不会有返回值。
// 返回number类型的
function testNum(): number {
return 10;
}
// 没有返回值
function testVoid1() {
console.log("没有返回值1");
}
function testVoid2(): void {
console.log("没有返回值2");
}
// 永远不会有返回值
function testNever1(): never {
throw new Error("报个错");
}
function testNever2(): never {
console.log("never返回函数中返回number类型报错");
return 10;
}
console.log(testNum());
console.log(testVoid1());
console.log(testVoid2());
console.log(testNever1());
console.log(testNever2());

可以看到上面的testNever2会报错,因为这里never表示永远不会有返回值,而我这里返回一个number值10.所以报错了
编译tsc index.ts
在页面中引入编译好的index.js
查看控制台输出

注:个人感觉可以这么想,void表示某个函数会执行完成;而never表示函数中有死循环,即不会执行完成,或者报错了,同样等于不会执行完成
网硕互联帮助中心





评论前必须登录!
注册