understanding Javascript Typeof

understanding Javascript Typeof

本文关键字:Typeof Javascript understanding      更新时间:2024-05-25

当我执行下面的代码时,它会打印两次"未定义"。我原以为它会引发错误,因为变量没有定义,而且顶部还有use strict语句。

'use strict';
var a;
console.log(typeof a);
console.log(typeof b);

有人能解释为什么它没有引起错误吗?

事实上,在JavaScript中,undefined意味着变量尚未定义,所以基本上:

  • typeof a返回undefined,因为变量a仅被声明,但尚未初始化(没有为其赋值)。

  • typeof b返回undefined,因为变量b尚未声明,因此未定义。

如果变量没有赋值,它就会得到类型undefined,因为类型无法确定。

因此,如果您检查MDN类型的规范,您将看到:

typeof运算符返回一个字符串,指示未赋值操作数的类型,如果您看到类型表,您可以看到undefined是一个基元类型,也是typeof的可能返回值之一。

示例:

您可以在示例部分中看到,未定义的返回:

//未定义

typeof undefined=='undefined';

typeof declaredButUndefinedVariable=="未定义";

typeof未声明变量==='未定义';

注意:

正如评论中所说,这只与JavaScript语法有关,与nodejs无关

您不使用"a"中的函数,也不使用任何除参数外的函数,这些函数没有定义。Typeof只检查变量的内存位置。

undefined是一种原始数据类型,

这是typeof操作员可以返回的可能选项之一,

它可以返回的其他选项有:

  • boolean
  • number
  • string
  • function
  • object
  • symbol