提问者:小点点

为什么数组HOC函数在没有可用参数时不抛出异常?


我有一个数组:

const values = [1, 2, 3, 4]

我正在尝试对它执行一些特殊功能(foreachevery..) 例如:

values.forEach(() => {
  const bool = typeof value == "number";
  console.log(bool)
})

上面的代码工作正常(没有错误),即使结果是false,并且值应该是undefined,因为我认为我传递的value(错别字错误)是这样的:

values.forEach(value => {
      const bool = typeof value == "number";
      console.log(bool)
    })

我的问题是为什么Javascript不警告我或从这个方法抛出错误?


共2个答案

匿名用户

这并不是因为foreach方法。 这就是typeof的工作方式,它计算变量的数据类型,如果它没有定义,它将返回“undefined”。

typeof value === "number"

typeof value //"undefined"

"undefined" === "number" //false

匿名用户

你的代码没有问题。

typeof将始终返回一个字符串,所以我们通常会这样做

  typeof A === 'number'

我们通常也使用===。 但即使不匹配,也不会出错。