关于意外字符串连接的 ESLint 错误

Ann*_*aSm 1 javascript eslint template-literals

我有以下几点:

return (useWordBoundary ? subString.substr(0, subString.lastIndexOf(' ')) : subString) + '\u2026';
Run Code Online (Sandbox Code Playgroud)

Eslint 拒绝我的代码说:

建议使用模板文字而不是字符串连接。(首选模板)

以上有什么问题?

Tim*_*imo 7

真的是一个风格问题。在您的示例中,可以说使用模板文字没有太多好处:

return `${useWordBoundary ? subString.substr(0, subString.lastIndexOf(' ')) : subString}\u2026`;
Run Code Online (Sandbox Code Playgroud)

在其他情况下,它使代码更具可读性:

return `Hello, ${name}!`;

// vs.

return 'Hello, ' + name + '!';
Run Code Online (Sandbox Code Playgroud)

如果您愿意,您可以通过注释有选择地禁用特定行的规则

// eslint-disable-next-line prefer-template
return (useWordBoundary ? subString.substr(0, subString.lastIndexOf(' ')) : subString) + '\u2026';
Run Code Online (Sandbox Code Playgroud)