ECMAScript 2015 added the ability to use template literals instead of concatenation. Since their use is clearer and more concise, they are preferred in environments that support ECMAScript 2015.

This rule raises an issue when a string is created from the result of two or more concatenations.

Noncompliant Code Example

function sayHello(name) {
  console.log("hello " + name);  // ignored
}

function madLib(verb, noun) {
  console.log("I really " + verb + " one or two " + noun);  // Noncompliant
}

Compliant Solution

function sayHello(name) {
  console.log(`hello ${name}`);  // no issue raised before, but this is better
}

function madLib(verb, noun) {
  console.log(`I really ${verb} one or two ${noun}`);
}