typescript-void和never

这两天工作有点忙,忘记更新了,不好意思啊!

今天来说两个容易混淆的点。

void和never

这两个用来定义函数的返回值类型。默认情况下,函数是返回的void,即在没有设置返回值的情况下或者返回undefined。

而never表示函数永远不会有返回值

TypeScript 复制代码
// 返回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表示函数中有死循环,即不会执行完成,或者报错了,同样等于不会执行完成

相关推荐
极梦网络无忧17 小时前
基于 Vite + Vue3 的组件自动注册功能
前端·javascript·vue.js
Predestination王瀞潞17 小时前
5.4.3 通信->WWW万维网内容访问标准(W3C):WWW(World Wide Web) 协议架构(分层)
前端·网络·网络协议·架构·www
爱学习的程序媛17 小时前
【Web前端】优化Core Web Vitals提升用户体验
前端·ui·web·ux·用户体验
zabr17 小时前
花了 100+ 篇笔记,我整理出 了一套 AI Agent 工程完全指南
前端·后端·agent
软弹17 小时前
深入理解 React Ref 机制:useRef 与 forwardRef 的协作原理
前端·javascript·react.js
YaHuiLiang18 小时前
Ai Coding浪潮下的前端:“AI在左,裁员在右”
前端
雪碧聊技术18 小时前
前端vue代码架子搭建
前端·javascript·vue.js·前端项目代码框架搭建
爱学习的程序媛18 小时前
【Web前端】前端用户体验优化全攻略
前端·ui·交互·web·ux·用户体验
han_18 小时前
JavaScript设计模式(二):策略模式实现与应用
前端·javascript·设计模式
x***r15118 小时前
Notepad++ 8.6 安装教程:详细步骤+自定义安装路径(附注意事项)
linux·前端·javascript