JavaScript 基本数据类型解析
1. JavaScript 有六种基本数据类型:Number | String | Boolean | Undefined | Null | 【ES6新增】Symbol,以及引用数据类型 Object
2. 对于基本数据类型的判断:typeof 操作符,对于不同的数据类型会返回不同的值,以下为七种常见的情况:
Number number
Array / Object / null Object
String string
Undefined undefined
Boolean boolean
Function function
Symbol symbol
3. 基本数据类型介绍:
【1】Undefined:如果一个 let 或 var 声明的变量未经过初始化,那么它的默认值为 undefined,这个数据类型的意义在于 区分空指针对象的值 null 和 未经初始化的变量的值 undefined。
被 typeof 操作符检测时,结果为 undefined.
【2】Null:含义为一个空对象指针,因此 typeof 操作符检测时,返回 Object 类型似乎不是那么难以理解,在将来要保存对象的变量的初始值可以先设置为 null. Undefined 类型是 Null 派生出来的,因此JavaScript将其定义为表面上相等,即
console.log(undefined == null) // true
【3】Boolean:布尔值类型,有两个字面值:true、false. 在 if 等流程控制语句中,经常会有其他类型默认转换为 Boolean 类型的例子,因此需要理解其他类型转换到 Boolean 类型后的值.
Boolean 转 Boolean :true -> true,false -> false
Number 转 Boolean :非0数字 -> true, 0、NaN -> false
Undefined 转 Boolean :无转为 true 的情况,undefined -> false
String 转 Boolean :非空字符串 -> true,空字符串 -> false
Object 转 Boolean :任何对象 -> true,null -> false
【4】Number:(1)NaN:即一个类型转换为 Number,本来应该返回一个数值,但失败了。
例如:1. 将字符串 “blue” 强制转换为 Number 类型,那么会返回一个 NaN,而字符串 "123" 则会正确返回数值 123.
2. 0 除以 任何数,在其他语言例如 C++ 中会报错,但在JavaScript 中会返回 NaN
在对 NaN 进行比较判断时,你会发现一个奇怪的现象:
console.log(NaN === NaN); // false
也就是说 NaN 和 任何数【包括它自身】都不相等,要使其相等,需要使用特殊的函数 isNaN() 专门对其进行判断,ES6 新增了 Object.is() 函数,也可实现对 NaN 的正确判断.
(2)parseInt(str) | parseFloat(str):将字符串转换为数值型数据,除了 str 还可以指定第二个参数,说明按哪种进制解析. str 最前面的空格会被忽略,从第一个非空格字符开始转换.
(3)其他类型转字符串的具体内容可参考 红宝书 第四版 P36
【5】String:字符串类型,(1)字符串一旦创建,就不可以再更改【例如使用索引对某个字符修改,是无效操作】,如果更改会先销毁原来字符串,再将新的字符串赋值给变量.
let str = "string"; console.log(str); // string str = "new string"; console.log(str); // new string console.log(str[0]); // n str[0] = 'h'; console.log(str[0]); // n
【6】Symbol:会单独记录一篇随笔详细介绍......

浙公网安备 33010602011771号