为什么linters会选择无用的转义字符?

问题描述 投票:-1回答:2

在字符串、模板字元和正则表达式中转义非特殊字符不会产生任何影响。

资料来源 https:/eslint.orgdocsrulesno-useless-escape。

但显然这是错误的。

enter image description here

这里没有什么需要 "修正 "的,我们都知道这是一个完全有效的人物序列。

开玩笑,这背后的理由是什么?

如果连ESLint都承认没有危害,那又何必呢?如果你只看最终的结果,那可能是无用的(我知道 \ 字符不会被打印出来),但在一个 "代码即数据" 上下文,这可能是做语法分析时有用的数据。

ESLint会对字符串中的内容做出判断,然而它却不会因为这段代码而动摇。(这对我来说也很无用)

var x = 10;
var y = x + 0;
var z = y * 1;
javascript eslint static-analysis
2个回答
3
投票

如果转义字符没有做任何有用的事情,那它在那里做什么呢?

也许代码的作者想要的是一个真正的反斜杠字符。这个错误会引起人们的注意,这样他们就可以替换掉它。\\\.

也许他们认为下一个角色需要逃跑。这教育了他们,否则。

也许这只是一个错别字。

由于没有 好的 有理由 \ 那里,只能是 坏的 的原因。有些比其他更严重的坏处,但linter会引起注意。


1
投票

有些打毛规则是为了让你的代码 完美.

如果你想转义字符,你可以转义,但有时并没有任何效果。如果你仍然这样做,你只是在你的代码中加入了一个无意义的字符,混淆了其他程序员,浪费了1个字节。你的代码用以下字符转义 \_ 顺序,而 \ 在这个序列中不做任何事情。

这条绒毛规则告诉你。这不是世界末日,但使用这个lint规则,你想知道。

© www.soinside.com 2019 - 2024. All rights reserved.