基本类型、最大值 
| 类型 | typeof返回值 | 对象包装器 | 
|---|---|---|
| Null | "object" | 不适用 | 
| Undefined | "undefined" | 不适用 | 
| Boolean | "boolean" | Boolean | 
| Number | "number" | Number | 
| BigInt | "bigint" | BigInt | 
| String | "string" | String | 
| Symbol | "symbol" | Symbol | 
从概念上讲, undefined  表示_值_的缺失, null  表示_对象_的缺失
变量是没有数据类型的,值才有数据类型
基本类型变量创建后不可变
函数传参是值传递(引用类型传递的是引用的地址值)
JavaScript 数值范围详解 
1. 最大安全整数 
- Number.MAX_SAFE_INTEGER
 值:- 9007199254740991(即 2^53 - 1)
 意义:超过此值的整数运算可能丢失精度。
 示例:javascript- console.log(9007199254740991 + 1); // 9007199254740992 ✅ console.log(9007199254740992 + 1); // 9007199254740992 ❌(精度丢失)1
 2
2. 最大浮点数值 
- Number.MAX_VALUE
 值:- 1.7976931348623157e+308
 意义:JS 能表示的最大浮点数,超过则视为- Infinity。
 示例:javascript- console.log(Number.MAX_VALUE); // 1.7976931348623157e+308 console.log(Number.MAX_VALUE * 2); // Infinity1
 2
3. 大整数解决方案(ES6+) 
- BigInt类型
 语法:数值后加- n或调用- BigInt()。
 特性:支持任意精度整数运算。
 示例:javascript- const bigNum = 9007199254740993n; // BigInt 字面量 console.log(bigNum + 1n); // 9007199254740994n ✅1
 2
4. 数值类型对比 
| 类型 | 范围 / 精度 | 适用场景 | 
|---|---|---|
| Number | 最大安全整数 2^53 - 1 | 常规数值运算 | 
| BigInt | 无限精度(需显式声明) | 大整数计算(如加密、ID) | 
| Infinity | 超过 Number.MAX_VALUE | 表示数学意义上的无穷大 | 
5. 注意事项 
- 隐式转换风险:javascriptconsole.log(1n + 2); // TypeError: 不能混合 BigInt 与 Number1
- JSON 序列化:BigInt无法直接通过JSON.stringify序列化,需自定义转换。
- 性能开销:BigInt运算比Number慢,仅在必要时使用。