Skip to content

1.错误语法:export default const a

export default const a 是错误的语法,不支持将const声明与export default结合使用。export default语句用于导出一个默认的值或模块。

正确的写法是将const a声明和export default语句分开写,如下所示:

js
const a = ...; // 定义常量 a
export default a; // 导出默认的值 a

这段代码中,const a 声明了一个常量 a,你可以根据需要为它赋予一个特定的值。

export default a 表示将常量 a 作为模块的默认导出。这意味着在其他文件中引入该模块时,默认导出的值将是常量 a

另一方面,const aexport 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") 的功能,可以按照以下步骤进行操作:

  1. 创建一个新的 Date 对象,表示当前日期和时间:

    js
    const currentDate = new Date(); //当前的年月日时间
  2. 将日期设置为当前月份的第一天:

    js
    currentDate.setDate(1);
  3. 减去一个月:

    js
    currentDate.setMonth(currentDate.getMonth() - 1);

现在,currentDate 变量将包含上个月的起始日期(即上个月的第一天的时间部分将保留为当前时间)。

请注意,JavaScript 的 Date 对象中的月份是从 0 开始计数的,即 0 表示一月,1 表示二月,以此类推。因此,在减去一个月时,我们使用了 currentDate.getMonth() - 1

以下是完整的示例代码:

js
const currentDate = new Date();
currentDate.setDate(1);
currentDate.setMonth(currentDate.getMonth() - 1);

console.log(currentDate);