noRedundantUseStrict (since v1.0.0)
Diagnostic Category: lint/suspicious/noRedundantUseStrict
Prevents from having redundant "use strict"
.
Examples
Section titled ExamplesInvalid
Section titled Invalid"use strict";function foo() { "use strict";}
suspicious/noRedundantUseStrict.js: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 │
"use strict";"use strict";
function foo() {
}
suspicious/noRedundantUseStrict.js: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() {
function foo() {"use strict";"use strict";}
suspicious/noRedundantUseStrict.js: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 │
class C1 { test() { "use strict"; }}
suspicious/noRedundantUseStrict.js: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 │ }
6 5 │
const C2 = class { test() { "use strict"; }};
suspicious/noRedundantUseStrict.js: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 │ };
6 5 │
Valid
Section titled Validfunction foo() {
}
function foo() { "use strict";}function bar() { "use strict";}