关于javascript:JavaScript-的-null-和-undefined-判断

10次阅读

共计 745 个字符,预计需要花费 2 分钟才能阅读完成。

null 和 undefined 在 JavaScript 是最常见的空问题。

null 和 undefined 的定义

JavaScript 的最后版本是这样辨别的:

null 是一个示意 ” 无 ” 的对象,转为数值时为 0;
undefined 是一个示意 ” 无 ” 的原始值,转为数值时为 NaN。

下图对下面的 2 个概念进行了比照:

为什么会呈现这个问题

这个和 JavaScript 的语言个性无关。

在最开始的时候,JavaScript 通常会被定义为是一个解释型语言。这个语言的特点是不须要编译,间接解释应用。

同时 JavaScript 为了加强语言的灵活性,又被设计为弱类型语言。

换句话说,在下面的定义的 null 的时候,是能够间接对应整数类型的,这个就对代码在执行的时候带来很多困惑。

针对编译类型和强类型语言来说,这个就十分头疼。

比如说在 Java 中,如果你须要应用一个字符串 string 之前,你必须要先定义这个字符串,你能够给字符串赋 null,或者初始化一些字符,然而你必须要定义。

否则在前面援用的时候就会报错,JavaScript 就不须要这样,间接用就行,这个时候,如果你压根就没有定义一个变量,而后就间接用,那么就会呈现 undefined 的谬误。

在强类型语言中,如果你定义变量为字符串,那么你就只能往这个变量外面存字符串,如果你存其余类型的话,编译器会报错。JavaScript 会尝试主动给你类型转换,这个就带来不少困惑的问题,比如说在变量中存的 1,这个可能是整数 1,也可能是布尔类型。

如何判断

能够应用 _.isNil() 函数来进行判断。

查看 value 是否是 null 或者 undefined。

须要留神的是,如果你的输出值是 ” 的话,这个函数是没有方法判断的。

https://www.ossez.com/t/javas…

正文完
 0