Codecademy - 寻找语法澄清(==="数字")

时间:2018-03-18 14:52:38

标签: javascript

我正在通过Codecademy'介绍JavaScript'课程。我刚刚遇到了一段代码示例,它让我感到困惑,似乎没有解释。我查看了Mozilla文档,并认为我理解,但我真的只是想要澄清这个问题。

let restaurant = {
  _name: 'Italian Bistro',
  _seatingCapacity: 120,
  _hasDineInSpecial: true,
  _entrees: ['Penne alla Bolognese', 'Chicken Cacciatore', 'Linguine 
pesto'],

  set seatingCapacity(newCapacity) {
      if (typeof newCapacity === 'number') {        // THIS LINE
        this._seatingCapacity = newCapacity;
      console.log(`${newCapacity} is valid input.`);
    } else {
        console.log(`Change ${newCapacity} to a number.`)
    }
  }

我的问题 - '数字'这里的意思是一个数字(12,343等),而不是字符串'数字'在所有情况下?或者它只在typeof运算符中?

我认为这是一个愚蠢的问题,但它是一个让我失望的人。谢谢。

1 个答案:

答案 0 :(得分:1)

===用于检查严格的相等性。请考虑以下示例

0 == false //<== returns true
0 === false //<== returns false

在您的示例中没有必要,因为typeof永远不会返回任何相等number而不是number字符串本身的值。但它被认为是使用===的良好做法(虽然我个人认为这取决于你所比较的)

(此处typeof可能返回的值列表)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof