【发布时间】:2017-08-20 02:28:51
【问题描述】:
(PreScript:我最初打算在 GitHub 中将此作为一个问题提出,但模板建议将一般问题放在此处而不是那里,因为这在技术上确实不是错误)。 p>
当我们针对 TypeScript 输出 (v 2.1.4) 运行 SPCAF 代码分析框架 (v.6.9.2.2802) 时,我们会在每个分析的 JS 文件顶部发出的 Extends Helper 中发现以下安全风险:
The comma operator used in sequences can cause confusion what the code should actually return
https://docs.spcaf.com/v6/SPC028904_NoCommaOperator.html?version=6.9.2.2802
(此规则基于 ESLint 规则:http://eslint.org/docs/rules/no-sequences.html)
这与助手中的这一行有关:
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
ES Lint 规则似乎存在两个语句用逗号而不是分号分隔的问题。
我的问题是:用逗号分隔这些语句是否存在真正的安全风险,如果有,是否可以在助手的发射器中更新?
否则,根据 ES Lint 关于序列被显式包裹在括号中的规则的例外,是否可以将三元中的表达式更新为包裹在两个括号中?
【问题讨论】:
标签: typescript eslint