【问题标题】:typeof(1) prints "Number" to the console, but when i ask if typeof(1) == Number, it prints out false, why?typeof(1) 将“Number”打印到控制台,但是当我询问 typeof(1) == Number 时,它打印出 false,为什么?
【发布时间】:2021-01-06 08:29:45
【问题描述】:

typeof(1) 将“Number”打印到控制台,但是当我询问 typeof(1) == Number 时,它打印出 false,为什么?

console.log(typeof(1));
//Number

console.log(typeof(1) == Number);
//false

【问题讨论】:

  • 注意typeof是一个操作符,不是一个函数;不需要括号:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • typeof 是运算符而不是函数。它可以在没有父母的情况下工作。
  • typeof 1 产生字符串 "number"
  • @AfnanBinHaque 请检查我的回答,如果对您有帮助,请标记为正确,谢谢!

标签: javascript boolean typeof


【解决方案1】:

typeof 返回一个字符串,所以检查一个

typeof(1) == 'number' // true

// or better without ( ), since you don't need them here
typeof 1 == 'number' // true

应该没问题。 有关typeof 的更多背景信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof

【讨论】:

  • typeof 是运算符而不是函数。它可以在没有父母的情况下工作。
  • 虽然@NinaScholz 确实如此,但它也适用于父母,并且 OP 选择使用它们。
  • 是的,可以使用它,但在这种情况下使用它是多余的。每个值都可以用括号括起来,但如果没有功能用途,则应避免使用,不仅会使代码变长,而且会指向丢失的部分或剩余部分。
猜你喜欢
  • 2020-05-09
  • 2015-06-01
  • 2021-06-18
  • 1970-01-01
  • 2015-03-11
  • 1970-01-01
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多