版本

no-template-curly-in-string

禁止在常规字符串中使用模板字面量占位符语法

ECMAScript 6 允许程序员使用模板字面量(而不是字符串连接)创建包含变量或表达式的字符串,通过在两个反引号 (`) 之间编写类似 ${variable} 的表达式。当想要使用模板字面量时,很容易使用错误的引号,例如编写 "${variable}",最终得到字面值 "${variable}",而不是包含注入表达式值的字符串。

规则详情

此规则旨在警告当常规字符串包含看起来像模板字面量占位符的内容时。当它发现一个包含模板字面量占位符 (${something}) 且使用 "' 作为引号的字符串时,它会发出警告。

示例

此规则的 错误 代码示例

在 Playground 中打开
/*eslint no-template-curly-in-string: "error"*/
"Hello ${name}!";
'Hello ${name}!';
"Time: ${12 * 60 * 60 * 1000}";

此规则的 正确 代码示例

在 Playground 中打开
/*eslint no-template-curly-in-string: "error"*/
`Hello ${name}!`;
`Time: ${12 * 60 * 60 * 1000}`;

templateFunction`Hello ${name}`;

何时不使用

此规则不应在 ES3/5 环境中使用。

版本

此规则在 ESLint v3.3.0 中引入。

资源

更改语言