JS隐式转换
首先,JS数据类型分为6种,分别是null、undefined、boolean、string、number、object。其中,object是引用类型,其余5种是基本类型或者叫做原始类型。
类型转换,就是隐式转换!不同类型的变量相比较时要先转换类型。隐式转换通常发生在运算符加、减、乘、除,以及大于、小于、等于等等。
typeof()方法用来打印判断某个元素是什么数据类型。
1、字符串和数字的相互转换:
(1)、字符串 加 数字 || 数字 加 字符串,数字 => 字符串
eg:
typeof("hello"); => "string"
typeof(2); => "number"
typeof("6"); => "string"
"hello" + 2 => "hello2"
2 + "hello" => "2hello"
"6" + 2 => "62"
2 + "6" => "26"
(2)、数字 减 字符串 || 字符串 减 数字,字符串 => 数字(此时,字符串是纯数字)
数字 减 字符串 || 字符串 减 数字,字符串 => NaN(此时,字符串不是纯数字)
字符串 减 字符串,字符串 => 数字(此时,字符串是纯数字)
字符串 减 字符串,字符串 => NaN(不是纯数字的字符串转换成NaN)
eg:
2 - "hello" => NaN
2 - NaN => NaN
"10" - 5 => 5
"hello" - 5 => NaN
"40" - "20" => 20
"hello" - "10" => NaN
"hello" - "hello" => NaN
(3)、字符串 和 数字 之间的 大于、小于、乘、除 和 减法的转换规则一样
(4)、字符串 等等 数字 || 数字 等等 字符串,字符串 => 数字(此时,字符串是纯数字)
字符串 等等 数字 || 数字 等等 字符串,字符串 => NaN(此时,字符串不是纯数字)
eg:
"3" == 3 => true
"3" == 2 => false
"hello" == 2 => false
2、字符串和布尔值的相互转换:
(1)、