04 数据类型转换

54 阅读1分钟

隐式转换

var age1 = 10; //number

var age2 = "5"; //string

console.log(age1 - age2); //5 减

console.log(age1 / age2); //2 除

console.log(age1 * age2); //50 乘

console.log(age1 % age2); //0 取余

除了加号外其他符号均为算术运算

boolean 布尔

var flg = true;

console.log(flg); //true

算术运算符中 true为1 false为0

null 空(必须手动赋值为null)

var nul = null;

console.log(nul); //null

undefined 未定义

var age;

console.log(age); //undefined

数据类型转换

parseInt() 转换为整数

parseFloat() 转换为小数——浮点数

Number() 转换为数字

toString() 转换为字符型

String() 转换为字符型

Boolean() 转换为布尔型

parseInt() 转换为整数

console.log(parseInt("10")); //10

console.log(parseInt("10abcdef")); //10

console.log(parseInt("c10defg")); //NaN

console.log(parseInt("1cdefg")); //1

console.log(parseInt("10.98")); //10

console.log(parseInt("10.98abcdef")); //10

parseInt()从左往右依次进行转换,遇到字母立马停止转换并返回之前转换好的整数值

parseFloat() 转换为小数

console.log(parseFloat("10")); //10

console.log(parseFloat("10abcdef")); //10

console.log(parseFloat("c10defg")); //NaN

console.log(parseFloat("1cdefg")); //1

console.log(parseFloat("10.98")); //10.98

console.log(parseFloat("10.98abcdef")); //10.98

parseFloat()从左往右依次进行转换,遇到字母立马停止转换并返回之前转换好的小数值

Number() 转换为数字——较为严格

console.log(Number("10")); //10

console.log(Number("10abcdef")); //NaN

console.log(Number("c10defg")); //NaN

console.log(Number("1cdefg")); //NaN

console.log(Number("10.98")); //10.98

console.log(Number("10.98abcdef")); //NaN

console.log(Number(true)); //1

Number()只要遇到字母便返回NaN

toString() 转换为字符型

var num = 10;

console.log(num); //10

console.log(num.toString()); //10

console.log(typeof num.toString()); //string

null和undefined不能用toString()转换——会报错

String() 转换为字符型

var number = 10;

console.log(number); //10

console.log(String(number)); //10

var nul = null;

console.log(String(nul)); //null

var age;

console.log(String(age)); //undefined

String()可以转换null和undefined类型

Boolean() 转换为布尔型

var str = "张三";

var num = 10;

var nul = null;

var bb;

console.log(Boolean(str)); //true

console.log(Boolean(num)); //true

console.log(Boolean(nul)); //false

console.log(Boolean(bb)); //false

console.log(Boolean(1)); //true

console.log(Boolean(0)); //false

其他类型转换为布尔型为false的有五个:0、null、undefined、""、NaN