javascript类型转换


1、字符串转换

  alert函数,比如alert(value)  会自动将value转换成String类型 然后进行显示

  我们也可以显示的进行转换:

let value = true;
alert(typeof value);    // boolean

value = String(value);  // 现在值是字符串形式的 "true"
alert(typeof value);  // string

2、数字转换

  在算术函数和表达式中,会自动进行number类型转换 

alert( "6" / "2" ); // 3, string 类型的值被自动转换成 number 类型后进行计算

  我们也可以用Number(value)进行显式转换:

let str = "123";
alert(typeof str); // string

let num = Number(str); // 变成 number 类型 123

alert(typeof num); // number

  如果字符串中不是一个有效的数值,转换的结果会是NaN

let age = Number("an arbitrary string instead of a number");
alert(age); // NaN,转换失败
alert(typeof age); // numbe
变成……
undefined NaN
null 0
true 和 false 1 and 0
string 去掉首尾空格后的纯数字字符串中含有的数字。如果剩余字符串为空,则转换结果为 0。否则,将会从剩余字符串中“读取”数字。当类型转换出现 error 时返回 NaN

3、布尔转换

  转换规则如下:

  • 直观上为“空”的值(如 0、空字符串、nullundefined 和 NaN)将变为 false
  • 其他值变成 true
alert( Boolean(1) ); // true
alert( Boolean(0) ); // false

alert( Boolean("hello") ); // true
alert( Boolean("") ); // false