今天你用 === 了吗?
来源:互联网 发布:剑灵龙族捏脸数据 编辑:程序博客网 时间:2024/06/15 09:06
今天遇到了一个bug,也顺便见识了JS这门语言的可怕之处。。。
事情的起因是这样,有一行代码类似如下:
var code = response.result;if (code) { console.error('异常')}
code 是rpc的返回值,明明服务端没有任何问题,但是客户端一直报错,结果定位到代码的时候发现服务端错误的把返回类型转成了string,而 JS 中,if (‘0) 是成立的;类似的问题还有:
'true' == true // false[] == ![] // true...
等等奇葩的操作,如果不知道为什么,可见ECMA规范11.9.3节,也有人整理出来这样的一张图:
看了上面的图,不得不说真的是辣眼睛,据说JS这门语言当年只用了一周开发,我现在是有点相信的。想要避开这个问题我们在开发中尽量用 ===
代替 ==
。
盆友,今天你 ===
了吗?
阅读全文
0 0
- 今天你用 === 了吗?
- 今天你用Subversion了吗
- 设计模式,今天你用了吗?
- msgbox今天你用了吗
- 今天你java了吗?
- 今天你表达了吗?
- 今天你冲浪了吗?
- 今天你吃了吗?
- 今天你生气了吗?
- 今天你生气了吗?
- 今天你‘博’了吗
- 今天你Swicki了吗?
- 今天你tag了吗?
- 今天你Shlemiel了吗
- 今天你Gentoo了吗?
- 今天你中毒了吗?
- 今天你学习了吗?
- 今天你笑了吗?
- win10+VS2015 编译64位的gdal,并配置环境
- qml实现简单的时间选择控件
- 程序员必备的600个英语词汇
- ArcGIS Pro开发
- java数据结构排序之快速排序
- 今天你用 === 了吗?
- pyqt5 官方例子笔记 animate-1
- HDU 6059 Kanade's trio 字典树 统计 容斥
- 数据结构之二叉树的一些基本操作
- 设计模式之代理模式
- android 数据库 shared preferences文件查看
- 文章标题
- 浅谈浏览器劫持问题
- 初步探讨数组和指针的区别与联系