JavaScript 共有 Undefined、 Null、 Boolean、Number、 String、 Object、 Symbol、 BigInt八种数据类型。
注:Symbol 和 BigInt 是 ES6 中新增的数据类型
基础数据类型和引用数据类型
一、基础数据类型: Undefined、 Null、 Boolean、 String、Number、Symbol、BigInt
(1)Undefined:【未定义/未初始化】此类型只有这一个值,当声明的变量未赋值时,就相当于赋值了Undefined。
(2)Null:【空对象】Null只有一个值,null表示一个控制值对象。在保存对象类型的值时建议 使用null 初始化
console.log(null == undefined); // true
console.log(null === undefined); // false
(3)Boolean:【布尔值】true 和 false。其他类型转Boolean可以用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 :【数字类型】可以表示任意精度格式的整数,使用 BigInt 可以安全地存储和操作大整数, 即使这个数已经超出了Number 能够表示的安全整数范围
可以用在一个整数字面量后面加 n 的方式定义一个 BigInt
二、引用数据类型Object
对象、 数组和函数都属于引用数据类型。
注:基础数据类型存放在栈内存中,引用数据类型存放在堆内存中
此文章参考了下面博主的文章,万分感谢
原文链接:https://blog.csdn.net/hsy0827/article/details/135629584