noRedundantUseStrict
诊断类别:lint/suspicious/noRedundantUseStrict
¥Diagnostic Category: lint/suspicious/noRedundantUseStrict
自从:v1.0.0
¥Since: v1.0.0
防止有多余的 "use strict"
。
¥Prevents from having redundant "use strict"
.
在 .mjs
文件中,或在 package.json
将库定义为模块的项目内的 .js
文件中,不需要指令 "use strict"
:
¥The directive "use strict"
isn’t needed in .mjs
files, or in .js
files inside projects where the package.json
defines library as module:
相反,.cjs
文件被视为 “scripts”,指令 "use strict"
被接受和建议。
¥Instead, .cjs
files are considered “scripts” and the directive "use strict"
is accepted and advised.
请注意,领先的琐事,例如冗余 "use strict"
之前的注释或换行符也将被删除。这样注释指令就不会被转移到错误的地方。
¥Note that the leading trivia, e.g., comments or newlines preceding
the redundant "use strict"
will also be removed. So that comment
directives won’t be transferred to a wrong place.
¥Examples
¥Invalid
code-block.cjs:3:3 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Redundant use strict directive.
1 │ “use strict”;
2 │ function foo() {
> 3 │ “use strict”;
│ ^^^^^^^^^^^^^
4 │ }
5 │
ℹ This outer use strict directive already enables strict mode.
> 1 │ “use strict”;
│ ^^^^^^^^^^^^^
2 │ function foo() {
3 │ “use strict”;
ℹ Safe fix: Remove the redundant use strict directive.
1 1 │ “use strict”;
2 2 │ function foo() {
3 │ - ·→ “use·strict”;
4 3 │ }
5 4 │
code-block.cjs:2:1 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Redundant use strict directive.
1 │ “use strict”;
> 2 │ “use strict”;
│ ^^^^^^^^^^^^^
3 │
4 │ function foo() {
ℹ This outer use strict directive already enables strict mode.
> 1 │ “use strict”;
│ ^^^^^^^^^^^^^
2 │ “use strict”;
3 │
ℹ Safe fix: Remove the redundant use strict directive.
1 1 │ “use strict”;
2 │ - “use·strict”;
3 2 │
4 3 │ function foo() {
code-block.cjs:3:1 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Redundant use strict directive.
1 │ function foo() {
2 │ “use strict”;
> 3 │ “use strict”;
│ ^^^^^^^^^^^^^
4 │ }
5 │
ℹ This outer use strict directive already enables strict mode.
1 │ function foo() {
> 2 │ “use strict”;
│ ^^^^^^^^^^^^^
3 │ “use strict”;
4 │ }
ℹ Safe fix: Remove the redundant use strict directive.
1 1 │ function foo() {
2 2 │ “use strict”;
3 │ - “use·strict”;
4 3 │ }
5 4 │
code-block.cjs:3:3 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Redundant use strict directive.
1 │ class C1 {
2 │ test() {
> 3 │ “use strict”;
│ ^^^^^^^^^^^^^
4 │ }
5 │ }
ℹ All parts of a class’s body are already in strict mode.
> 1 │ class C1 {
│ ^^^^^^^^^^
> 2 │ test() {
> 3 │ “use strict”;
> 4 │ }
> 5 │ }
│ ^
6 │
ℹ Safe fix: Remove the redundant use strict directive.
1 1 │ class C1 {
2 2 │ test() {
3 │ - → → “use·strict”;
4 3 │ }
5 4 │ }
code-block.cjs:3:3 lint/suspicious/noRedundantUseStrict FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ Redundant use strict directive.
1 │ const C2 = class {
2 │ test() {
> 3 │ “use strict”;
│ ^^^^^^^^^^^^^
4 │ }
5 │ };
ℹ All parts of a class’s body are already in strict mode.
> 1 │ const C2 = class {
│ ^^^^^^^
> 2 │ test() {
> 3 │ “use strict”;
> 4 │ }
> 5 │ };
│ ^
6 │
ℹ Safe fix: Remove the redundant use strict directive.
1 1 │ const C2 = class {
2 2 │ test() {
3 │ - → → “use·strict”;
4 3 │ }
5 4 │ };
¥Valid
¥Related links