聊聊 JavaScript 所谓的坑

mark,C++过来的,踩了很多浅坑:joy:

我觉得JS最大的坑是没有智能提示,容易把参数和函数名写错,要运行到这里才会发现。
我把项目改成TS的过程中就发现几个这样的问题,这些分支是很少进入的,平时不容易发现。

语言只是工具,各种语言都有优劣,看使用者如何发挥,我觉得这些发表所谓遇到坑的人只是他自己坑了自己,是被自己的水平给坑了。

1赞

这个坑提的好

1赞

是的,你这两个坑我觉得遇到的人会很多

这个大部分都遇到过

var x = 0; 
    if(!x) {
        console.log(x);  //输出x
    }

踩过这个坑,本来的意思是判断是否有x, 0好歹也是一个数字,但结果x=0的时候居然可以执行if语句。

0转为boolean值就是false,非0则为true :joy: 我被坑过很多次

这个坑100%的人都踩过

后面学聪明了
不写成
if(x==0)
而是
if(0==x)
这样就算是少了一个等号 编辑器会报错 可以减少不必要的错误

2赞

赞的都是踩过雷的

赞的都是踩过雷的

1024

我们貌似颇多这样使用,看来要review一次代码了:joy:

后来this的坑怎么过的?玩过c++ 到js,this我一直不习惯

不管三七二十一,不是用bind就是用本地变量先保存 :joy: 然后异步回调再使用本地变量

1赞

这个是es6的新特性吧, 这种缩写里面的this对象,已不是当前期望的this对象,是一个全局对象,简写在部分情况下,还是很好用的

1赞

前三个不怎么算坑吧,算是语言的特性吧…

很活跃啊:grin:this这个我是被坑了好多次了

可以使用ESlint插件帮你检查拼写错误哦

用TS的路过,表示写的很爽。