ts中的void和never类型
void
表示没有任何类型
// 没有返回值的函数,其返回值类型为 void function warnUser(): void { console.log("void"); } // 申明为 void 类型的变量,只能赋予 undefined 和 null let unusable: void = undefined;
可以用到void
有以下几种情况
- 函数没写return
- 只写了 return, 没有具体的返回值
- return 的是 undefined
// 如果什么都不写,此时,add 函数的返回值类型为: void const add = () => { // } // 如果return之后什么都不写,此时,add 函数的返回值类型为: void const add = () => { return } const add = (): void => { // 此处,返回的 undefined 是 JS 中的一个值 return undefined } // 这种写法是明确指定函数返回值类型为 void,与上面不指定返回值类型相同 const add = (): void => { // }
never
表示永远不会有值的一种类型,任何类型都不能赋值给 never
类型的变量
应用场景???(暂时没找到)
// 返回never的函数必须存在无法达到的终点 function infiniteLoop(): never { while (true) { } } // 这个函数不能申明其返回值类型 function warnUser(): void { console.log("void"); }
function add (a?: number, b: number = 1) {
// ?跟在参数名字的后面,表示可选的参数
// 注意:可选参数只能在 必须参数的后面
// 如果可选参数在必选参数的前面,会报错
// 设置了默认值之后,就是可选的了,不写就会使用默认值; 可选的参数一定有值。它们不能一起使用。优先使用默认值
console.log(111);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了