In JavaScript, we can use the / (backslash) character to escape special characters inside a string, a template literal, or a regular expression.

It indicates that the next character should be treated as a literal character rather than as a special character or string delimiter.

For instance, it is common to escape single quotes inside a string literal using the single quote delimiter like 'It\'s a beautiful day'.

Escaping is only meaningful for special characters.

Why is this an issue?

Escaping non-special characters in strings, template literals, and regular expressions doesn’t affect their value. Therefore, useless escapes impact code readability and could even denote a bug in the code if the developer left it by mistake or intended to escape another special character instead.

How to fix it

We can safely remove a useless character escape without changing the original behaviour.

Code examples

Noncompliant code example

const regex = /[\[]/;
const octal = '\8';
const hello = 'Hello, world\!';
const path  = `\/${some}\/${dir}`;

Compliant solution

const regex = /[[]/;
const octal = '8';
const hello = 'Hello, world!';
const path  = `/${some}/${dir}`;