javascript - typescript 类型 boolean 不能分配给 void

标签 javascript typescript

myContact = [
 {
  name: 'John',
  lastName: 'Doe',
  phone: 123456789
 },
 {
  name: 'Mark',
  lastName: 'Doe',
  phone: 98765432
 }
]
在点击事件中,添加一个条件来检查数组长度,如果长度 > 2。
onClick() {

 if(myContact.length > 2)
     redirect page...
    return false; // don't want the code to continue executing
 }
错误: typescript 类型 bool 值不可分配给 void
我尝试使用 some() 进行类似的操作,以下我的条件按要求工作
let checkValue = myContact.some(s => s.name === 'John')
if(checkValue)return false
但如果我尝试与我的联系人类似,E.G
let checkLength = myContact.filter(obj => obj.name).length
if(checkValue)return false   // error: error: Typescript type boolean is not assignable to void
我该如何解决这个问题,

最佳答案

一个 void type 表示函数做了一些事情但不返回值。这意味着类型为 void 的函数无法返回 boolean任何一个。正如 TypeScript 所期望的那样,它什么也不返回。
您很可能有一个函数声明如下:

const functionName = (): void => {
  ...
}

除此之外,这似乎不是这里问题的核心。如果您希望您的函数“提前返回”并停止执行其其余逻辑。你可以明确地告诉它不返回这样的东西:
const functionName = (): void => {
  if (someCondition) {
    return;
  }

  // This code won't run if `someCondition` is true.
  someOtherLogic()
}

关于javascript - typescript 类型 boolean 不能分配给 void,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67788111/

相关文章:

javascript - 如何从js对象数组刷新Datatable数据

javascript - 如何在图像上添加可编辑的文本字段?

javascript - 父窗口中的 jquery 表达式无法在弹出窗口中正常工作 - 出了什么问题?

angular - 当文本框中的值已更改时,更新文本框前景色的最佳方法是什么?

javascript - 在运行的秒表中显示时间格式

Javascript 表单验证不执行

javascript - 在引用 ScrollView 上 react native 错误,但工作

javascript - 从 api 检索数组数据到 Angular 应用程序

javascript - 扩展 SVGTextElement 时 typescript 未捕获类型错误

javascript - 如何从返回模型的服务获取类函数