首页 > 解决方案 > 如何正确使用 lambda 函数作为参数?

问题描述

如果我有这样的声明:

public startDate = this.formatDate(new Date());

我不想传递 new Date(),而是传递由函数创建的日期。我知道我可以做到:

public startDate = this.formatDate(this.getDateFunc());

但是有没有办法用 lambda 函数来做到这一点?我尝试查找它,但我发现的所有帖子都在谈论函数作为定义中的参数。

我想做类似的事情:

public startDate = this.formatDate(() => {...});

标签: javascripttypescript

解决方案


class A {
  public startDate = this.dateFactory();

  constructor(
    private dateFactory,
  ) {}

  ...
}
// somewhere in code
new A(() => new Date());

推荐阅读