noRedundantUseStrict (since v11.0.0)
Prevents from having redundant "use strict"
.
Examples
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
function foo() {
}
function foo() {
"use strict";
}
function bar() {
"use strict";
}