为什么不推荐使用数组的includes方法---记两次includes引起的问题

不推荐理由一:

首先兼容性差,在安卓5.1和4.4.4以及IOS9等比较老的手机系统上不支持。假如你用在了自己的项目里出现问题可能还好排查一些,一旦使用在了公共的页面比如登陆页或者支付页等出现问题排查起来比较繁琐,还不一定能及时发现问题的所在。

不推荐理由二:

避免取反和includes一起使用。之前在项目中有这样一段代码,如:!Arr.includes("test")。在测试环境没有任何问题,但线上就有问题,相当的神奇。问题的原因点是什么呢?经过扒测试环境和线上环境的压缩代码发现,测试环境的代码还是!Arr.includes("test"),跟源码一样没问题,但线上代码被转译为了 !Arr.indexOf("test") > -1;因为取反优先级比大于符号大这就引起了bug。

所以综上所述,不推荐大家在项目里用includes,说多了都是泪啊!

原文地址:https://www.cnblogs.com/shengliang74/p/10992054.html