微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何传递一个值,如果它是 null ,如果它不是 null 那么 .toDate() 它

如何解决如何传递一个值,如果它是 null ,如果它不是 null 那么 .toDate() 它

我正在尝试将日期值传递到 fullCalendar 的 rrule 插件中,如下所示

Endate = null;

rrule: {
        freq: "Daily",interval: 1,dtstart: StartDate.toDate(),until: EndDate.toDate()
                        
        }

在我的 EndDate 中,如您所见,我正在将其格式化为 .toDate()。

但现在我的 EndDate 也可以是 null,所以当我将它传递给格式化为 .toDate() 时会失败

我的问题是,如果我的 endDate 为 null,我如何才能将该值作为 null 传入,如果我有一个值,那么我可以 .toDate() 它

我试过这样的事情

until: EndDate == ?? || EndDate.toDate() // 因此,如果它的 null 传递该值,或者如果它不为 null 则传递该值

但是上面的方法不起作用。

我试过了

until:EndDate === null ? null:EndDate.toDate() // this works but is there a cleaner way to do it instead of reassigning endDate to null?

解决方法

我认为 Optional Chaining 正是您要找的。​​p>

endDate?.toDate() 将尝试调用 toDate 方法并在 endDate 为 null 时返回 undefined。

如果您需要 until 为 null 而不是 undefined,您可以使用 endDate?.toDate() ?? null 代替

,

您可以使用可选的链接运算符 EndDate?.toDate()

https://codepen.io/niklhs/pen/oNzdaGw?editors=1111

如果 EndDateundefinednull,它不会抛出错误。 相反,它会返回 undefined

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。