本文详细介绍JavaScript的八种数据类型,包括Undefined、Null、Boolean、Number、String、Object、Symbol和BigInt。重点解析基础类型与引用类型的区别,涵盖各类型的特性、转换方法及内存存储机制,帮助开发者深入理解JS类型系统。
JS包含的数据类型
JavaScript 体系涵盖 Undefined、Null、Boolean、Number、String、Object、Symbol 及 BigInt 八大类。
说明:
Symbol 与 BigInt 系 ES6 标准引入的新类型
原始值与引用值分类
1. 原始数据类型
Undefined、Null、Boolean、String、Number、Symbol、BigInt
(1)Undefined:【未定义/未初始化】该类型仅含此值,变量声明但未赋值时即为此状态。
(2)Null:【空对象】Null 仅有一个值 null,代表空对象引用。初始化对象类型变量时推荐用 null。
console.log(null == undefined); // true
console.log(null === undefined); // false(3)Boolean:【布尔值】包含 true 与 false。其他类型转换为布尔值可调用Boolean()
Boolean({}) // 结果为true Boolean(null) // 结果为 false
Boolean(123) // 结果为true Boolean(0) | Boolean(0) NaN // 结果为false(4)Number:【数值,含NaN】
NaN (Not a Number) 意指非数值,isNaN()函数用于检测参数是否非数值。
console.log(isNaN(NaN)); // true
console.log(isNaN(10)); // false,10是数值
console.log(isNaN("11")); // false,可以转换为数值11
console.log(isNaN("hsy")); // true,不可以转换为数值
console.log(isNaN(true)); // false,可以转换为数值1(5)String:【字符串类型】支持单引号、双引号或反引号包裹。
转换为字符串:
toString()适用于数值、布尔值、对象及字符串值。- null 与 undefined 不具备此方法。
- 处理数值时,可传入底数参数,指定数值字符串表示的进制。
(6)Symbol:【独一无二值】确保属性名唯一,从而避免属性冲突。
let s1 = Symbol(4);
let s2 = Symbol(4);
s1 === s2 //打印结果 false(7)BigInt :【大整数类型】支持任意精度整数,可安全存储及操作超出 Number 安全范围的大整数。
在整数字面量后添加 n 可定义 BigInt。
2. 引用数据类型Object
对象、数组及函数均归为引用数据类型。
说明:
- 原始数据类型存储于栈内存。
- 引用数据类型存储于堆内存。
总结
以上内容为个人经验总结,旨在提供参考,感谢支持本站。