ts中的void和never类型

void

  表示没有任何类型

// 没有返回值的函数,其返回值类型为 void
function warnUser(): void {
    console.log("void");
}

// 申明为 void 类型的变量,只能赋予 undefined 和 null
let unusable: void = undefined;

可以用到void 有以下几种情况

  1. 函数没写return
  2. 只写了 return, 没有具体的返回值
  3. 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);
}
 
复制代码

 

posted @   夏目友人喵  阅读(1956)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示