版本

no-useless-concat

不允許不必要的字串或樣板字面值串連

❄️ 凍結

此規則目前為凍結狀態,且不接受功能請求。

將兩個字串串連在一起是不必要的,例如

const foo = "a" + "b";

此程式碼很可能是重構的結果,其中變數已從串連中移除 (例如 "a" + b + "b")。在這種情況下,串連並不重要,程式碼可以重寫為

const foo = "ab";

規則詳情

此規則旨在標記 2 個字面值的串連,因為它們可以合併為單一字面值。字面值可以是字串或樣板字面值。

此規則的錯誤程式碼範例

在 Playground 中開啟
/*eslint no-useless-concat: "error"*/

const a = `some` + `string`;

// these are the same as "10"
const b = '1' + '0';
const c = '1' + `0`;
const d = `1` + '0';
const e = `1` + `0`;

此規則的正確程式碼範例

在 Playground 中開啟
/*eslint no-useless-concat: "error"*/

// when a non string is included
const a = a + b;
const b = '1' + a;
const c = 1 + '1';
const d = 1 - 2;
// when the string concatenation is multiline
const e = "foo" +
    "bar";

何時不該使用

如果您不希望收到有關不必要字串串連的通知,您可以安全地停用此規則。

版本

此規則在 ESLint v1.3.0 中引入。

資源

變更語言