【发布时间】:2017-11-03 00:13:12
【问题描述】:
当我在代码下面运行时
let m = "5", d = "5", y = "2015"; new Date(`${d}-${m}-${y}`);
firefox developer Edition v 56 返回无效日期,而 Chrome v 61 返回有效且正确的日期。
2015 年 5 月 5 日星期二 00:00:00 GMT+0530 (IST)
在 FF DE 56 浏览器中不支持 es6 模板文字还是浏览器中对日期格式的定义有所不同?
请提供任何帮助链接。
【问题讨论】:
-
caniuse.com/#feat=template-literals 表明它应该得到支持。控制台输出中是否有任何错误?当您将该字符串输出到控制台时会发生什么?
-
试试
new Date(`${y}-${m}-${d}`),见developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… -
只有特定的日期格式是标准的一部分,因此是跨浏览器的,而这不是其中之一。
-
该错误意味着您将无效值传递给
Date。该值是否通过模板文字生成并不重要。 (您可以通过尝试new Date('5-5-2015')轻松验证) -
@FelixKling 。 new Date('5-5-2015') 也返回 Invalid Date 。见imgur.com/oo3Lr6W
标签: ecmascript-6 browser-support template-literals