Javascript 为什么林特选择无用的逃逸角色?

Javascript 为什么林特选择无用的逃逸角色?,javascript,eslint,static-analysis,Javascript,Eslint,Static Analysis,转义字符串、模板文本和正则表达式中的非特殊字符没有任何效果 资料来源: 但显然这是错误的: 这里没有什么需要“修复”的;我们都知道这是一个完全有效的字符序列 别开玩笑了,这背后的理由是什么? 如果连埃斯林特都承认没有伤害,那为什么还要麻烦呢?如果您只查看最终结果(我知道\字符不会被打印出来),那么这可能是无用的,但是在“code is data”上下文中,这可能是进行语法分析时有用的数据 ESLint对字符串中的内容做出判断,但它不会改变代码:(这对我来说也没用) var x=10; 变量y=

转义字符串、模板文本和正则表达式中的非特殊字符没有任何效果

资料来源:

但显然这是错误的:

这里没有什么需要“修复”的;我们都知道这是一个完全有效的字符序列

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

如果连埃斯林特都承认没有伤害,那为什么还要麻烦呢?如果您只查看最终结果(我知道
\
字符不会被打印出来),那么这可能是无用的,但是在“code is data”上下文中,这可能是进行语法分析时有用的数据

ESLint对字符串中的内容做出判断,但它不会改变代码:(这对我来说也没用)

var x=10;
变量y=x+0;
var z=y*1;

一些linting规则旨在使您的代码更加完美

如果愿意,您可以转义字符,但有时它没有任何效果。如果您仍然这样做,您只需在代码中添加一个无意义的字符,这会使其他程序员感到困惑,并浪费1个字节。代码使用
\
序列转义下划线字符,而
\
在该序列中不执行任何操作


这个皮棉规则告诉你了。这不是世界末日,但是使用lint规则,你想知道。

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

也许代码的作者想要一个反斜杠字符。该错误会引起注意,以便他们可以将
\
替换为
\

也许他们认为下一个角色需要逃跑。这在其他方面教育了他们

也许这只是一个打字错误


因为没有好的理由让
\
在那里,所以只有坏的理由。有些比其他更严重,但过梁会引起注意。

只要记录字符串,您就会看到problem@Andreas我知道“问题”是什么。这不是重点。转义字符是无用的,很可能会以不需要的方式更改字符串的内容。那么,为什么不反对这一点呢?@Andreas我不确定这里关注的是内容,
“\a”。长度是1而不是2。如果错误消息是说“你想转义这个角色吗?”或“你可能需要转义\因为它不会被打印出来”,我会很好的。@customcommander-嗯。因此,您可以理解其目的,但您只是想抱怨错误消息不够可爱?不够公平。我想我只是对错误信息不满意。Pull请求确实很受欢迎。尽管错误消息非常完美。我认为你需要一个编程完美主义者的心态来理解像这样的linting规则的目的。