那些我曾踩过的坑之类型显式/隐式转换
2016-10-24 16:59
218 查看
今天遇到了一个小问题,大致提取一下如下:
var a="23";
if(a==true){
.....//code here
}
天真的以为会执行括号里面的内容,但是发现其实括号里返回的是false。
后来发现这个表达式的过程是这样的:首先通过隐式转换把true转换成1,然后再把"23"转换成23,所以最后就是
if(23==1),返回了false。
其实可以直接if(a) ,或者if(!!a),也可以if(Boolean(a))。
var a="23";
if(a==true){
.....//code here
}
天真的以为会执行括号里面的内容,但是发现其实括号里返回的是false。
后来发现这个表达式的过程是这样的:首先通过隐式转换把true转换成1,然后再把"23"转换成23,所以最后就是
if(23==1),返回了false。
其实可以直接if(a) ,或者if(!!a),也可以if(Boolean(a))。
相关文章推荐
- C++类型转换---隐式&显式
- 对象类型转换,explicit,显式和隐式
- JavaScript 数据类型转换(显式与隐式)
- 那些数据可以通过隐式转换成布尔Boolean类型数据?最全面总结,终极版!!!
- C++:显式和隐式初始化、显式和隐式类型转换
- 调用构造函数进行类型转换(显式和隐式)
- c# implicit explicit关键字(隐式和显式数据类型转换)
- JavaScript显式类型转换与隐式类型转换
- C# 数据类型转换 显式转型、隐式转型、强制转型
- .net显式隐式转换类型
- Oracle DB 隐式和显式数据类型转换
- C++中显式和隐式初始化和类型转换
- C++类型转换分为:隐式类型转换和显式类型转换
- c# implicit explicit关键字(隐式和显式数据类型转换)
- C#的隐式类型转换和显式类型转换
- C++类型转换分为:隐式类型转换和显式类型转换
- 数据类型回顾——数据类型转换(显式和隐式)—JS学习笔记2015-6-3(第47天)
- java中什么是显式类型转换和隐式类型转换?
- .net类型自定义隐式(显式)转换操作的位置问题
- JAVA中显式类型转换和隐式类型转换