JavaScript有7种基本数据类型:Number、String、Boolean、Null、Undefined、Symbol和BigInt,均为不可再分的原始值,存储在栈内存中,赋值时为值的拷贝,具有不可变性,任何操作都生成新值而非修改原值;其中Null的typeof返回"object"属历史bug,Symbol用于唯一属性键,BigInt表示任意大整数;JS存在隐式类型转换,如"5"+3得"53"、"5"-3得2,建议用===避免类型转换问题。
JavaScript的基本数据类型共有7种,它们的特点是不可再分的原始值,存储在栈内存中,操作时直接按值访问。这7种类型分别是:Number、String、Boolean、Null、Undefined、Symbol(ES6新增)、BigInt(ES2025新增)。
1. 值类型,存储在栈中
基本数据类型的变量保存的是实际的值,赋值时是值的拷贝。
- 修改一个变量不会影响另一个变量
- 例如:let a = 10; let b = a; a = 20; 此时b仍是10
2. 不可变性(Immutable)
基本类型的值一旦创建就不能被改变,任何“修改”实际上是创建了新值。
- String:字符串拼接不会改变原字符串,而是生成新字符串
- Number:数学运算返回新值,原值不变
3. 类型自动判断与转换
JS会根据上下文自动进行类型转换,这是双刃剑,需注意隐式转换带来的问题。
"5" + 3 得到 "53"(字符串拼接)- "5" - 3 得到 2(强制转为数字)
- 使用 === 可避免类型转换,推荐用于比较
4. 各类型简要特点
- Null:表示“有意为空”,typeof 返回 "object"(历史遗留bug)
- Undefined:变量声明未赋值,或对象属性不存在时的默认值
- Symbol:唯一且不可变,常用于对象属性键,防止命名冲突
- BigInt:表示任意大的整数,通过在整数后加 n 创建,如 100n
基本上就这些。理解基本数据类型的特点,有助于写出更稳定、可预测的JavaScript代码。

"5" + 3 得到 "53"(字符串拼接)






