if
语句
if(…) 语句计算括号里的条件表达式,如果计算结果是 true,就会执行对应的代码块。
if(true){
alert('是的,是TRUE')
}
布尔转换
if (…) 语句会计算圆括号内的表达式,并将计算结果转换为布尔型。
- 数字 0、空字符串 “”、null、undefined 和 NaN 都会被转换成 false。因为它们被称为“假值(falsy)”
- 其他值被转换为 true,所以它们被称为“真值(truthy)”
类型转换
字符串转换
let value = true;
alert(typeof value); // boolean
value = String(value); // 现在,值是一个字符串形式的 "true"
alert(typeof value); // string
字符串转换最明显。false 变成 “false”,null 变成 “null” 等。
数字型转换
let str = "123";
alert(typeof str); // string
let num = Number(str); // 变成 number 类型 123
alert(typeof num); // number
当我们从 string 类型源(如文本表单)中读取一个值,但期望输入一个数字时,通常需要进行显式转换。
如果该字符串不是一个有效的数字,转换的结果会是 NaN。例如:
let age = Number("an arbitrary string instead of a number");
alert(age); // NaN,转换失败
Number 类型转换规则:
例子:
alert( Number(" 123 ") ); // 123
alert( Number("123z") ); // NaN(从字符串“读取”数字,读到 "z" 时出现错误)
alert( Number(true) ); // 1
alert( Number(false) ); // 0
布尔型转换
布尔(boolean)类型转换是最简单的一个。
它发生在逻辑运算中(稍后我们将进行条件判断和其他类似的东西),但是也可以通过调用 Boolean(value) 显式地进行转换。
转换规则如下:
- 直观上为“空”的值(如
0
、空字符串、null
、undefined
和NaN
)将变为false
。 - 其他值变成
true
。
alert( Boolean(1) ); // true
alert( Boolean(0) ); // false
alert( Boolean("hello") ); // true
alert( Boolean("") ); // false
alert( Boolean("0") ); // true
alert( Boolean(" ") ); // 空格,也是 true(任何非空字符串都是 true)