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 中引入。