版本

no-template-curly-in-string

不允許在一般字串中使用樣板字面值佔位符語法

ECMAScript 6 允許程式設計師使用樣板字面值來建立包含變數或表達式的字串,而不是使用字串串接,方法是在兩個反引號 (`) 之間寫入像 ${variable} 這樣的表達式。當想要使用樣板字面值時,很容易使用錯誤的引號,寫成 "${variable}",最終得到字面值 "${variable}",而不是包含注入表達式值的字串。

規則詳情

此規則旨在警告一般字串何時包含看起來像樣板字面值佔位符的語法。當它發現一個字串包含樣板字面值佔位符 (${something}),並且使用 "' 作為引號時,將會發出警告。

範例

此規則的錯誤程式碼範例

在遊樂場中開啟
/*eslint no-template-curly-in-string: "error"*/
"Hello ${name}!";
'Hello ${name}!';
"Time: ${12 * 60 * 60 * 1000}";

此規則的正確程式碼範例

在遊樂場中開啟
/*eslint no-template-curly-in-string: "error"*/
`Hello ${name}!`;
`Time: ${12 * 60 * 60 * 1000}`;

templateFunction`Hello ${name}`;

何時不該使用它

此規則不應在 ES3/5 環境中使用。

版本

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

資源

變更語言