dot pairs 点_ESLint 自带规则部分笔记 (JavaScript 教材书?)

以后有时间了补.

在 TypeScript 之前, 学习 JavaScript/ECMAScript(简称 JS) 最好的老师就是 ESLint.

是 ESLint 让我学习 JS, 并使用 JS 到现在的.

大多数情况下我都是不建议自己完善规则的, 因为 Airbnb 的规则已经足够好用了, React 也有自己的规则建议. 并且 TypeScript 能做的更多.

最近在整理微信小程序的项目, 在为这个项目完善 ESLint 规则的时候, 顺便也整理一份文字出来, 讲讲我这样设置的原因.

我的简短文字更像是笔记, 希望大家对照着 ESLint 自带的规则 来看.

被推荐的规则, 建议大家遵循, 同时建议没看过的同学在有空时翻看一下.

针对没有添加到 eslint:recommended 的, 下面逐一说:

避免错误

no-await-in-loop 不允许在循环中嵌套 await.

🟡 没有使用该规则.

我的原因很简单, 就是当想避免同时并发时, 在循环里 await wait('100ms');fetch('something'); 还是有意义的.

no-console 不允许控制台输出

🟢使用该规则: error.

如果真是希望长期留存输出, 建议大家通过一个函数进行包裹, 然后仅在该函数中使用, 然后通过注释 disable-eslint 来避免报错.

no-extra-parens 不使用没必要的括号.

🟢使用该规则: error.

这里有一些小知识点, 比如算术运算符是遵循数学的, 乘除号优先级一样, 但逻辑运算符可不是. 推荐大家看看MDN 关于运算符优先级的相关文档, 比如 && 是优先于 || 的.

no-template-curly-in-string 普通字符串中不使用参数占位符

🟢 使用该规则: error.

为了避免本来使用重音符但使用了引号的情况, 要求普通字符串中不能出现参数占位符. 是一点限制, 但基本不会有人故意在普通字符串中非要使用参数占位符, 如果非要, 那就用编码吧, 比如 '\u0024{}'.

[7.0] no-useless-backreference

🟡 没有使用该规则.

这是最近才添加的新规则, 关于字符串正则的, 我们很少写正则.

因为 7.0 版本还在测试, 直接进入 404, 可以通过这里看文档.

require-atomic-updates 涉及异步时, 优先执行异步

🟢 使用该规则: error.

虽然我们尽量写纯函数, 避免这种用法是可能的. 之所以会出现这样的问题, 也算是因为 JavaScript 的糟粕吧, 没有指针.

最佳实践

accessor-pairs 要求 Get 和 Set 同时出现

🟢 使用该规则: error.

如果只 Set, 没有 Get, 那么使用 Set 就是毫无意义的. 不过反之则可能是真实需求, 所以使用默认规则只限制前者即可.

array-callback-return 数组某些方法的回调函数要求一定有返回值

🟢 使用该规则: error.

我们遇到过本该使用 for 却使用 map 的代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值