1.错误语法:export default const a
export default const a 是错误的语法,不支持将const声明与export default结合使用。export default语句用于导出一个默认的值或模块。
正确的写法是将const a声明和export default语句分开写,如下所示:
const a = ...; // 定义常量 a
export default a; // 导出默认的值 a这段代码中,const a 声明了一个常量 a,你可以根据需要为它赋予一个特定的值。
export default a 表示将常量 a 作为模块的默认导出。这意味着在其他文件中引入该模块时,默认导出的值将是常量 a。
另一方面,const a 和 export default a 是两个独立的语句,它们分别声明了常量 a 和将常量 a 作为默认导出。当然不能连着写在一起!
2.使用 Date 类实现moment包类似功能
moment.js 是一个强大的 JavaScript 日期库,但在最新的 ECMAScript 标准中,JavaScript 原生的 Date 对象已经提供了更多的日期和时间操作功能。如果你使用的是较新的 JavaScript 版本,可以考虑使用原生的 Date 对象或其他现代的日期库(如 date-fns、Luxon 等)来处理日期和时间。
例子:moment().startOf("month").subtract(1, "month") 返回上个月的起始日期(即上个月的第一天的 00:00:00)
要使用原生的 JavaScript Date 对象实现 moment().startOf("month").subtract(1, "month") 的功能,可以按照以下步骤进行操作:
创建一个新的
Date对象,表示当前日期和时间:jsconst currentDate = new Date(); //当前的年月日时间将日期设置为当前月份的第一天:
jscurrentDate.setDate(1);减去一个月:
jscurrentDate.setMonth(currentDate.getMonth() - 1);
现在,currentDate 变量将包含上个月的起始日期(即上个月的第一天的时间部分将保留为当前时间)。
请注意,JavaScript 的 Date 对象中的月份是从 0 开始计数的,即 0 表示一月,1 表示二月,以此类推。因此,在减去一个月时,我们使用了 currentDate.getMonth() - 1。
以下是完整的示例代码:
const currentDate = new Date();
currentDate.setDate(1);
currentDate.setMonth(currentDate.getMonth() - 1);
console.log(currentDate);