You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS运行moment日期处理代码报Uncaught TypeError: a is undefined错误

问题记录

编写如下业务代码时出现运行报错:

let dateDataStartDate = moment().startOf('week')._d
let dateDataEndDate = moment().endOf('week')._d
if (datesData.start != undefined) {
  dateDataStartDate = datesData.start
  dateDataEndDate = datesData.end
}

axios.get('/api/classes/' + props.myVal, {
      params: {
          dateDataStartDate: dateDataStartDate,
          dateDataEndDate: dateDataEndDate,
          admin: true
      }
  })

运行时抛出的错误信息为:

Uncaught TypeError: a is undefined

控制台最初将报错位置定位到这行代码:

let dateDataEndDate = moment().endOf('week')._d

根因分析

控制台的报错定位存在偏差,实际错误来自后续的条件判断逻辑:变量datesData本身为undefined,代码未校验datesData是否存在就直接访问其.start属性,触发了类型错误。
报错信息里的a是moment.js压缩打包后的内部变量名,导致错误提示和行定位出现误导,实际和moment的周起止计算逻辑无关。

修复方式

调整条件判断逻辑,优先校验datesData本身是否存在,再访问其内部属性:

if (datesData != undefined) {

修改后代码可正常运行。


内容的提问来源于stack exchange,提问作者devdude19289

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 23:48:21