之前写js时有使用过位运算,就是为了偷个懒;
最近看mdn 中的 Ployfill 中 也出现了很多位运算,自己就查了下,跟着用了。总之有时候用起来很方便。
比如:
~str.indexOf('') //判断是否存在
~~number //取整
...
其他的位运算觉得可能会影响阅读就几乎没用;
但是,最近了解到有人吐槽 ,说js的位运算
1.速度比内置的原生方法慢
2.影响阅读,显摆自己,
3.动态语言里不要一知半解的用静态语言里面的东西
4.这哪是技巧,这是毒瘤
所以js中应不应该使用位运算?请大家说一下看法
可读性确实差,因为人对二进制运算本来就不容易直观理解(也许有天才他们思维跟咱不一样)。
除非你的项目就是自己写着玩的,否则可读性、可维护性永远是第一要务。
所以最好包装成方法,比如你说的
~~number
,包成一个函数toInt()
就直观许多了。但你要说
速度比内置的原生方法慢
,这我就不能理解了,请举具体例子。