1.基本数据类型
Number 数值类型
在JavaScript中无论是整数还是小数都是属于数值类型的
String 字符串类型
在JavaScript中无论是通过单引号还是通过双引号括起来的内容都是属于字符串类型的
Boolean 布尔类型
在JavaScript中布尔类型比较特殊, 只有两个取值true/false
Undefined 未定义类型
在JavaScript中未定义类型比较特殊, 只有一个取值undefined
Null 空类型
2.引用数据类型
Object 对象类型
在JavaScript中为了方便我们检测某一种数据是属于哪一种数据类型的, JavaScript提供了一个名称叫做typeof的操作符
格式: typeof 需要检测的数据;
数据类型之间的转换
1.将Number类型转换为字符串类型
2.将Boolean类型转换为字符串类型
3.将undefined类型转换为字符串类型
4.将null类型转换为字符串类型
在JavaScript中如果想将以上的四种基本数据类型转换为字符串类型
, 常用的方法有三种
1.对于Number类型和Boolean类型来说, 可以通过 变量名称.toString()的方式来转换
2.可以通过String(常量or变量);转换为字符串
3.还可以通过 变量or常量 + "" / 变量or常量 + ''转换为字符串
注意点: 不能使用常量直接调用toString方法, 因为常量是不能改变的
注意点: 变量名称.toString()的方式前面不能是常量, 因为常量不能被改变
String(常量or变量), 因为是根据传入的值重新生成一个新的值, 并不是修改原有的值
- 1.将String类型转换为数值类型
- 如果字符串中都是数值, 那么就正常转换
- 如果字符串是一个空串""/" ", 那么转换之后是0
- 如果字符串中不仅仅是数字, 那么转换之后是NaN - 2.将Boolean类型转换为数值类型
- true转换之后是1
- false转换之后是0 - 3.将undefined类型转换为数值类型
- 转换之后是NaN - 4.将null类型转换为数值类型
- 转换之后是0
总结
空字符串/false/null转换之后都是0
字符串中不仅仅是数字/undefined转换之后是NaN,其它的正常转换
转化为数字型
在JavaScript中如果想将以上的四种基本数据类型转换为数值类型, 常用的方法有三种
1.通过Number(常量or变量);方式来转换
2.还可以通过数学运算中的+号和-号来转换
3.还可以通过parseInt(需要转换的字符串)/parseFloat(需要转换的字符串)
转化为布尔型
- 1.将String类型转换为布尔类型
只要字符串中有内容都会转换为true, 只有字符串中没有内容才会转换为false - 2.将Number类型转换为布尔类型
只有数值是0才会转换为false, 其它的都会转换为true
如果是NaN也会转换为false - 3.将undefined类型转换为布尔类型
undefined会转换为false - 4.将null类型转换为布尔类型
null会转换为false
空字符串/0/NaN/undefined/null 会转换成false, 其它的都是true
在JavaScript中如果想将基本数据类型转换为布尔类型, 那么只需要调用Boolean(常量or变量)
- === !==
会同时判断取值和数据类型
== !=
只会判断取值
2.关系运算符的结合性和优先级
关系运算符都是左结合性(从左至右的运算)
关系运算符中 > < >= <= 的优先级高于 == != === !==
== 只会判断取值是否相等, 不会判断数据类型是否相等
let res = 123 == "123"; // let res = 123 == 123; true
== 不仅会判断取值是否相等, 并且还会判断数据类型是否相等
只有取值和数据类型都相等, 才会返回true