1. Undefined:未定义型
一个变量声明了但是未赋值的情况下就是undefined;
2. Null:空型
一般用来清空变量,也起了占位作用
3. String:字符型
凡是被双引号或单引号包裹起来的都叫做字符型,字符串有length属性。
4. Number:数值型
包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。
(1)NaN:非数字类型。
特点:①涉及到的任何关于NaN的操作,都会返回NaN
② NaN不等于自身。
(2)isNaN() :用于检查其参数是不是数值,得到的结果是一个布尔值,不是数值返回true,是数值返回false。
5. Boolean:布尔型
只有true和false两个值。
6. Symbol代表创建后独一无二且不可变的数据类型,它的出现我认为主要是为了解决可能出现的全局变量冲突的问题。
7. BigInt是一种数字类型的数据,它可以表示任意精度格式的整数,使用BigInt可以安全地存储和操作大整数,即使这个数已经超出了Number能够表示的安全整数范围。
参考文献: https://www.cnblogs.com/zjx304/p/9782942.html
"!!" 将表达式进行强制转化为boolean值的运算,运算结果为true或者false。
1、未初始化的变量
2、不返回任何结果的函数的调用结果
3、不存在的对象属性或方法
4、越界索引数组元素
1、在js的dom元素获取中,如果没有获取到指定的元素对象,结果一般是null。
2、Object.prototype. proto 的值是null。
3、在正则捕获的时候,如果没有捕获到结果,默认也是null。