js 的隐式转换与显式转换

Posted missya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 的隐式转换与显式转换相关的知识,希望对你有一定的参考价值。

隐式转换
 
1.undefined与null相等,但不恒等(===)
2.一个是number一个是string时,会尝试将string转换为number
3.隐式转换将boolean转换为number,0或1
4.隐式转换将Object转换成number或string,取决于另外一个对比量的类型
5.对于0、空字符串的判断,建议使用 “===” 。
6.“==”会对不同类型值进行类型转换再判断,“===”则不会。它会先判断两边的值类型,类型不匹配时直接为false。
undefined == null;  // true   
1 == true;  // true  
2 == true;  // false  
0 == false;  // true
0 == ‘‘;  // true   
NaN == NaN;  // false  NaN不等于任何值
[] == false;  // true  
[] == ![];  // true
‘6‘ - ‘3‘  // 3
1234 + ‘abcd‘ // "1234abcd"

 

显示转换

显示转换一般指使用Number、String和Boolean三个构造函数,手动将各种类型的值,转换成数字、字符串或者布尔值。

Number:

Number(‘1234‘) // 1234
Number(‘1234abcd‘) // NaN
Number(‘‘) // 0
Number(true) // 1
Number(null) // 0
Number(undefined) // NaN
 
String:
 
String(1234)  // "1234"
String(‘abcd‘)  // "abcd"
String(true)  // "true"
String(undefined) // "undefined"
String(null)  // "null"

 

Boolean:
 
Boolean(0)  // false
Boolean(undefined)  // false
Boolean(null)  // false
Boolean(NaN)  // false
Boolean(‘‘)  // false

 

以上是关于js 的隐式转换与显式转换的主要内容,如果未能解决你的问题,请参考以下文章

Oracle sql中的隐式和显式数据类型转换有啥区别

C语言 显式 隐式是啥意思

关于隐式转换和显式转换

从 int 到向量的隐式转换?

隐式线程与显式线程性能[关闭]

简单说 通过JS的隐式转换,关键时刻救你一命