JavaScript 的基本数据类型:undefined、Number、Boolean、Null、 Array、String、Symbol(ES6)
JavaScript 中的null、 undefined、 '' 的定义: undefined、null皆为全局对象上的一个属性。
-
undefined 是javaScript中的基本数据类型之一,也是原始值数据。
什么情况下会出现undefined? 1. 已经声明但未被初始化的变量,其默认被赋值为undefined; 2. 未被声明的变量使用 typeof 判断数据类型时返回undefined; 3. 没有明确的返回值时为undefined; 4. viod返回undefined;
-
关于undefined在javaScript类型转换的结果:
在javaScript中undefined的类型转换是一件非常让人头疼的事情,需具体情况具体分析。
// 1. undefined是否为 false ???
// 如我们在控制台输入以下:
undefined == false;
undefined == true; // 他们的结果都是会被定义为false。
// 所以可以理解为,undefined既不为true,也不为false;
// 2. 在JavaScript中隐式转换后是否与null相等 ???
// 如我们在控制台输入以下:
undefined == null; // 其结果为true;
// 这就说明,undefined在javaScript的隐式转换中,undefined 与 null是相等的;
*** 这就引申出一个在JavaScript中一个容易判断出错的逻辑运算:
如:
```js
let exp;
if(exp == undefined) {
alert('exp为undefined'); // 根据 2 可以判断出,如果exp为null,也将进入判断中。(除非使用typeof)
};
```js
// 3. undefined 取反后是否为true ???
// 如我们在控制台输入以下:
!undefined == true; // true
!undefined === true; // true
// 这就说明,通过!符转换后,是为true;
// 4. undefined 是否为 0 ???
// 如我们在控制台输入以下:
undefined == 0; // false
我们会发现其是不为0的。
// 5. undefined是否可以转换为数字?
Number(undefined); // NaN
parseInt(undefined); // NaN
parseFloat(undefined); // NaN
// 可以看出undefined转换为数字的话皆为 NaN。
// 6. undefined是否可转换为字符串???
String(undefined) // 'undefined';
// 注意:undefined 转换为字符串是没有toSring方法的;