# 类型转换
# 强制类型转换
详见上一节 "内置顶层函数"
- Number() 转换成数值类型
- String() 转换成字符串类型
- Boolean() 转换成布尔类型
- parseInt() 将字符串转换为整型
- parseFloat() 转换为浮点型
# 隐式类型转换
由于js是弱类型语言,在使用算术运算符时,运算符两边的数据类型可以是任意的。比如,一个字符串可以和数字相加。之所以不同的数据类型之间可以做运算,是因为JavaScript引擎在运算之前会悄悄的把他们进行了
隐式类型转换
# 算数运算符类
# - * / %
* 在进行算术运算,如果操作数不是数值,将会隐式的调用Number()函数,按照这个函数的转换规则进行转换
* 如果转换不成功,整个表达式返回NaN
# +
* 任何数据类型和`字符串`相加,返回他们拼接的结果。
* 如果操作数不包含字符串,则规则同 `- * / %`
# 关系运算符类
- 两个操作数都是
字符串
,则比较两个字符串对应的字符编码 - 除此之外,参与比较的数据都会隐式调用
Number()
进行转换后再比较
# 逻辑运算符类
&& || !
运算,会调用Boolean()
函数判断参与逻辑运算的数据的真假性
# 语句
if
、while
、do while
语句和三元表达式
里面的判断条件表达式会隐式的调用Boolean()
函数,按照这个函数的转换规则,转换为相应的布尔值
// 判断一个字符串是否为空
var str = "";
if(str){
console.log("str is true")
}