类型转换
在开发中,你有没有遇见一种情况
javascript
let obj={
displayNum:""
}
obj.displayNum="123";
let num:number =123
console.log(num==obj.displayNum) //false
我们想要的结果,是结果为true;那么这时候就要用到类型转换
- 将其他类型转换为布尔类型
javascript
let m: string ='123'
let mb:boolean = Boolean(m) ;// true
Boolean()函数会判断传入的值是空值,还是非空值;除了5种情况,其余的返回的都是true
-
undefined
-
null
-
NaN
-
0
-
""
javascript
Boolean(undefined) //false
Boolean(123) //true
Boolean("") //false
-
将其他类型转换为数值类型
- parseInt()
将字符串类型的值转换为整型数值
javascriptparseInt(" 1") //1 parseInt("1") //1 parseInt("3.14") //3 parseInt("1zz") //1 parseInt("z1") //NaN
看上面的代码,可以知道,使用parseInt()函数时,需要注意的几点。
在转换时会忽略前面的空格,会从第一个非空字符串开始解析,直到遇见非数字字符,会忽略非数字字符及之后的所有字符;
在转换时会忽略小数点后的数值
- pareseFloat()
将字符串类型的值转换为浮点型数值
javascriptpareseFloat(" 1。1") //1.1 pareseFloat("1.1") //1.1 pareseFloat("3.14.15") //3.14 pareseFloat("1zz") //1 pareseFloat("z1") //NaN
看上面的代码,可以知道,使用pareseFloat()函数时,需要注意的几点。
在转换时会忽略前面的空格,会从第一个非空字符串开始解析,直到遇见非数字字符,会忽略非数字字符及之后的所有字符;
在转换时会忽略第二个小数点后的数值
-
Number()
将任意类型的值转换为数值类型的值;Number()的转换大致和parseInt()和 parseFloat()一样;但是对与转换的内容中包含 非数字,只会得到NaN;所以如果判断一个字符串是否时纯数字的时候 可以使用Number();javascript
Number(" 1。1") //1.1
Number("1.1") //1.1
Number("3.14.15") //3.14
Number("1zz") //NaN
Number("z1") //NaN
- parseInt()
-
将其他类型转换为字符串类型
可以使用两种方式可以将其他类型的值转换为字符串类型
- 通过String()构造函数产生新的字符串
如果使用String()会产生新的字符串。 - 通过调用其他类型的toString()方法来进行转换
- 通过String()构造函数产生新的字符串