【问题标题】:Refactor concatenation in ES6 style [duplicate]以 ES6 风格重构串联 [重复]
【发布时间】:2018-02-09 18:25:14
【问题描述】:

我想在不超过 80 个字符的行限制的情况下以更好的方式重构此代码。

 document.getElementById('latest-date').innerHTML =
    (
      days[date.getDay() -1] + ' ' + date.getDate() + ' ' +
      months[date.getMonth()] + ', ' + date.getFullYear() + ' - ' +
      date.getHours() + ':' + date.getMinutes()
    );

我想使用Template Literals,但我想当我进入换行符以遵循字符限制时,它会自动添加\n

当前代码输出的一个例子是:

Thur 24 Aug, 2017 - 18:30

【问题讨论】:

  • 您可以使用 momentJS 来执行使用 momentJS 的任何日期内容的显示

标签: javascript ecmascript-6


【解决方案1】:
document.getElementById('latest-date').innerHTML = (`
  ${days[date.getDay() -1]} ${date.getDate()}
  ${months[date.getMonth()]}, ${date.getFullYear()} - 
  ${date.getHours()}:${date.getMinutes()}    
`);

我认为应该这样做。

【讨论】:

  • 我要求进行 ES6 重构,因为我真的不想将 JQuery 添加到项目中。不错的解决方案,看起来确实不错,但没有直接回答我的问题。我按照社区的建议将问题标记为重复问题。
  • @Dean 这不使用 jQuery。它使用模板文字。 $ 是骗人的,但这与 jQuery 无关
  • 正是@TinyGiant 所说的。当您在反引号 (` `) 中时,您使用 ${ } 输入一个 javascript 变量,并且它之外的任何内容都呈现为 HTML。这就是你可以删除你们所有人 + ' ' + 等的内容。
  • -1:这正是不需要的,它在结果字符串中添加了换行符。
  • @Dave 哇!我的错。这实际上工作得很好,并没有像我想的那样使用 JQuery。但是,我仍然很困惑为什么会这样。
猜你喜欢
  • 1970-01-01
  • 2019-02-22
  • 2018-12-01
  • 1970-01-01
  • 2010-12-03
  • 1970-01-01
  • 2018-12-02
  • 2016-03-21
  • 1970-01-01
相关资源
最近更新 更多