本文系统介绍 JavaScript 的核心数据类型,涵盖字符串、数字、布尔值等基本类型,以及数组和对象等复合类型。重点解析 null 与 undefined 的区别,并详细阐述隐式与显式类型转换的规则,包括 Number、parseInt 和 parseFloat 的具体行为及边界情况。
JavaScript 基本数据类型
3.1 基本数据类型
字符串类型(string):由 Unicode 字符、数字及标点符号构成。在 JavaScript 中不存在独立的 char 字符类型,即使仅表示单个字符,也必须使用字符串类型。
2数字型(number):不区分整型和浮点型
布尔型(boolean):用于表示逻辑真或假。
JavaScript 复合数据类型
3.2 复合数据类型
1. 数组(array):数组元素是指存放在数组中的数据。
数组下标从 0 开始编号。
读取数组元素示例:arr[0];
数组赋值示例:arr[1]=120;
2. 对象:
通过对象名.属性名访问属性。
通过对象名.方法名() 调用方法。
其他特殊数据类型
3.3 其它数据类型
函数:
1. 在 JavaScript 中,函数被视为一种数据类型,因此可以将其存储在变量、数组或对象中。
2. null:在 JavaScript 中,null 是一种独立的数据类型,代表没有值或空值。
3. undefined:表示未定义,以下 4 种情况会返回 undefined。
a. 定义了一个变量,但尚未赋值。
b. 使用了一个未定义的变量。
c. 定义了一个不存在的对象属性。
d. 引用了一个不存在的数组元素。
JavaScript 数据类型转换
3.4 数据类型的转换
原则:将数据类型转换为当前环境中所需要使用的数据类型。
JavaScript 数据类型隐式转换规则
1. 数据类型的隐式转换:
| 原数据类型 | 目票数据类型 | 说明 | |
| 字符串 | 非空字符串 | 数字弄 |
如果字符串中的字符为数字,则转换为字符串的数字,如"123"转换为数字是123, 如果字符串中的字符不是纯数字,则转换为naa |
| 布尔型 | true | ||
| 空字符中 | 数字型 | 0 | |
| 布尔型 | flase | ||
| 字符串”true" | 数字型 | Nan | |
| 布尔型 | true | ||
| 字段符串"flase“ | 数字型 | Nan | |
| 布尔型 | true | ||
| 数字型 | 普通数字 | 字符串 | 可以把数字转换成字符串"数字" |
| 布尔型 | 数字0转换为false,其他数字转换为true | ||
| Nan | 字符串型 | 转换为字符串"Nan" | |
| 布尔型 | 转换为false | ||
| 布尔型 | true | 字符串型 | 转换为字符串"true“ |
| 数字型 | 转换为1 | ||
| false | 字符串型 | 转换为字符串"false" | |
| 数字理 | 转换为0 | ||
| null | 字符串型 | 转换为字符串"null” | |
| 数字型 | 转换为0 | ||
| 布尔型 | 转换为false | ||
| undefined | 字符串型 | 转换为字符串"undefined“ | |
| 数字型 | 转换为Nan | ||
| 布尔型 | 转换为false | ||
2. 另类数据的隐式转换
3. 数据类型的显示转换
1. 转换为数字型
Number(value):将 value 转换为整数或浮点数。
parseInt(value):可以将 value 转换成整数。
parseFloat(value):转成浮点数。
如果不能转换成数字型,将返回 NaN。
将其它类型转换为数字型的转换规则
| 数据类型 | 说明 | |
| 字符串 | 空字符串 | 使用Number()转换为0,使用parseInt()和parseFloat()转换为Nan |
| 字符串"ture" | 转为Nan | |
| 字符串"false | 转为Nan | |
| 其他字符串 |
如果字符串中的字符为数字,则转为字符中中的数字,如字符串"123" 可以转换为数字123。如果字符串不是纯数字,则转换为Nan | |
| 布尔型 | true | 使用Number()转换为0,使用parseInt()和parseFloat()转换为Nan |
| false | 使用Number()转换为0,使用parseInt()和parseFloat()转换为Nan | |
| null | 使用Number()转换为0,使用parseInt()和parseFloat()转换为Nan | |
| undefined | 转换为Nan | |
2. 转换为布尔型
将其他数据类型转成布尔型
| 数据类型 | 语明 | |
| 字符串 | 空字符串 | 转换为false |
| 字符串"true" | 转换为true | |
| 字符串"flase" | 转换为true | |
| 其他字符串 | 转换为true | |
| 数字型 | 0 | 转换为false |
| Nan | 转换为false | |
| 其他数字 | 转换为true | |
| null | 转换为false | |
| undefined | 转换为false | |
3. 转为字符串型
将其他数据类型转成字符串型
| 数据类型 | 说明 | |
| 数字型 | 普通数字 | 可以将数字转换成字符串”数字",如数字1转换为字符串"1" |
| Nan | 转为字符串"Nan" | |
| 布尔型 | true | 转为字符串"true" |
| flase | 转为字符串"false" | |
| null | 转为字符串"null" | |
| undefined | 转为字符串"undefined" | |