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 @ 2022-05-09 10:24  夏目友人喵  阅读(1946)  评论(1编辑  收藏  举报