数据类型,指那些可以赋值给变量的值,JS中的数据类型由原始值和对象共同组成
JavaScript中一共有七种原始值:
1. 数值(Number)
- 在JS中所有的整数和浮点数都是数值类型
- JS中的数值并不是无限大的,当数值超过一定范围后会显示近似值
- 再超过范围会以科学计数法的形式显示
- 再超过范围会显示为Infinity
- 基于以上原因再加上浮点数计算的不精确问题,所以尽量不要直接使用数值做一些精度要求较高的运算
- 使用typeof运算符检查一个数值时会返回"number"
| let a = 10; |
| let b = 2.5; |
| let c = 9999999999999991; |
| let d = 999999999999999999999; |
| let e = 999 ** 999; |
| let f = 1.9999999999999999; |
| let g = 0.0000005; |
| let h = 1 * "a"; |
除了常规的数字外,在数值中还存在两个特殊值NaN和Infinity。
NaN:错误的数值
Infinity:无穷
其他进制数字的表示方法:
| let a = 0b1010; |
| let b = 0o77; |
| let c = 0xff; |
2. 大整数(BigInt)
- 大整数用来表示一些比较大的整数
- 大整数使用n结尾,它可以表示的数字范围是无限大
- 整数只能和大整数计算,和数值计算会报错
- 使用typeof检查一个大整数时会返回"bigint"
| let a = 9999999999999999999999n; |
| console.log(typeof a); |
3. 字符串(String)
- 在JS中使用单引号或双引号来表示字符串
- 使用typeof运算符检查一个字符串时会返回"string"
| let a = "今天天气真不错"; |
| let b = '昨天天气也挺好'; |
| console.log(typeof a); |
| console.log(typeof b); |
- 转义字符 \
JavaScript中使用 \ 作为转义字符,转义字符用以表示一些特殊的符号
转义字符 |
字符串 |
\' |
' |
\" |
" |
\n |
换行 |
\t |
制表符tab |
\uxxxx |
Unicode编码 |
- 模板字符串
(1)使用反单引号 ` 来表示模板字符串
(2)用来表示一些比较长的字符串(跨行)
(3)可以嵌入变量,使用${变量}来嵌入变量
| let a = 'Hello'; |
| a = "你好"; |
| a = "这是一个\"字符串"; |
| |
| a = `今天天 |
| 气真 |
| 不 |
| 错!`; |
| console.log(a); |
| let name = "孙悟空"; |
| |
| let str = `你好,${name}`; |
| console.log(str); |
4. 布尔值(Boolean)
- 主要用来进行逻辑判断
- 只有两个值,true 和 false
- 使用typeof检查一个布尔值时会返回 boolean
| let bool = true; |
| bool = false; |
| console.log(typeof bool); |
5. 空值(Null)
- 用来表示空、不存在
- 只有一个 null
- 使用typeof检查时会返回"object"
| let a = null; |
| console.log(typeof a); |
6. 未定义(Undefined)
- 作用和空值类似,同样只有一个值undefined
- 一般不会主动使用undefined
- 使用typeof检查时会返回"undefined"
7. 符号(Symbol)
- 表示一个唯一标识
- 在一些特殊场景下会使用
- 使用typeof检查一个符号时会返回"symbol"
原始值在JS中是不可变类型,一旦创建就不能修改
总结
JavaScript 中有八种基本的数据类型(译注:前七种为基本数据类型,也称为原始数据类型,而 object 为复杂数据类型)。
七种原始数据类型:
- number 用于任何类型的数字:整数或浮点数,在 ±(253-1) 范围内的整数。
- bigint 用于任意长度的整数。
- string 用于字符串:一个字符串可以包含 0 个或多个字符,所以没有单独的单字符类型。
- boolean 用于 true 和 false。
- null 用于未知的值 —— 只有一个 null 值的独立类型。
- undefined 用于未定义的值 —— 只有一个 undefined 值的独立类型。
- symbol 用于唯一的标识符。
以及一种非原始数据类型:
我们可以通过 typeof 运算符查看存储在变量中的数据类型。
- 通常用作 typeof x,但 typeof(x) 也可行。
- 以字符串的形式返回类型名称,例如 "string"。
- typeof null 会返回 "object" —— 这是 JavaScript 编程语言的一个错误,实际上它并不是一个 object。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义