Skip to content

js中隐性类型转换

只需要一点点时间学会使用js中隐性类型转换,更加轻松的处理部分类型

在所有加减乘除等需要数字类型的地方,JS会自动使用Number构造函数对变量进行转换

js
'1' - '2'  // -1  
1 + '2'  // 12 (加号+比较特殊,其他类型和字符串相加都会转换成字符串)
1 + +'2'  // 3 (两个"+"必须分开,+'2'是隐形转换将字符串'2'转换为数值2)
'1' - true   // 0  
'1' * {}   // NaN  
'1' - 'a'  // NaN

字符串自动转换主要表现为字符串的拼接,字符串和其他类型用加号(+)拼接时,其他类型都自动转换为字符串

js
'1' + '2'  // 12  
'1' + 'a'  // 1a  
'1' + 1  // 11  
'a' + null   // anull  
'1' + undefined  // 1undefined  
'a' + {}   // a[object Object]  
'a' + true   // atrue

当在任意需要布尔类型的地方,系统都会自动调用Boolean()构造函数将值转换为Boolean类型

提示

null、0、-0、+0、''、undefined、NaN这些都会转换为false,其他的值都会转换为true

创建时间:

最近更新: