js arguments

由于历史原因,项目代码中还有一些函数使用arguments,而同时公司定下的lintRule对于arguments只是warning,因此有些还是没人去修改。

那么arguments还有必要存在吗,这里总结下

arguments vs rest parameters

  • arguments是类数组,但并不是数组,因此没有map,filter等方法,而rest parameters是数组
  • arguments的迭代器方法IE下不支持
  • arguments是es3时的规范,而rest parameters是es6
  • rest parameters可以用于获取函数所有参数,可以完全提到arguments

综上,可以确定我们完全可以使用rest parameters来解决参数获取

prefer-rest-params

针对历史代码可以采用该规则来进行检测修复。个人解决error更好。