请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

function void的疑问

function addAndHandle(n1: number, n2: number, cb: (num: number) => void) {
  const result = n1 + n2;
  const cbRe = cb(result);
  console.log('cbRe = ', cbRe);
  return cbRe;
}

addAndHandle(10, 20, re => {
  console.log('Result is : ', re);
  return re;
});

console.log(addAndHandle(10, 20, re => {
  console.log('Result is : ', re);
  return re;
}));

cb 是一个callback 定义了返回类型是void 但是代码里还是可以return值 同样addAndHandle根据type inference 也是void类型 但是也可以return值 vscode没有报错 也没有提示。 请问老师那void的意义何在 只是作为一个简单的提醒 但是我们想return的时候 还是可以return?谢谢

正在回答 回答被采纳积分+3

1回答

张轩 2021-01-04 21:03:12

同学你好 void 在 typescript 中也是一种类型啊 它是一种特殊的类型 它有点像 any 的反义词,看到这个类型,你就可以想象啥都没有 官方文档是这样说的 https://www.typescriptlang.org/docs/handbook/basic-types.html#void

0 回复 有任何疑惑可以回复我~
  • 提问者 ywang04 #1
    谢谢老师回复 void is a little like the opposite of any: the absence of having any type at all. You may commonly see this as the return type of functions that do not return a value。 既然不return a value 为啥我给了void类型后 还是可以return值呢?并且vscode没有提示错误。
    回复 有任何疑惑可以回复我~ 2021-01-05 06:10:38
  • 张轩 回复 提问者 ywang04 #2
    同学 我觉得可以这样理解 在 ts 中任何都有类型 连没有 return 这种类型都是一种类型,这个类型就是 void。这只是个文字游戏,大体理解就可以啦
    回复 有任何疑惑可以回复我~ 2021-01-06 09:47:43
  • 提问者 ywang04 回复 张轩 #3
    清楚了 谢谢老师
    回复 有任何疑惑可以回复我~ 2021-01-07 07:05:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信