JavaScript – 变量/对象同时作为字符串和函数

是否可以创建变量/对象,它同时返回字符串和函数?

> a
'Hello World'
> a()
2018-07-13T13:45:10.967Z

我见过关于JavaScript对象的默认方法的文章,但我现在找不到它.

我认为应该是这样的:

// Pseudo code
const a = {
    toString: "Hello World",
    function: () => new Date(),
};

最佳答案 AFAIU只有当您需要字符串时,才能使用变量以启用显式或隐式转换,如下所示:

const a = function () {
  return new Date()
};
a.toString = function() {
  return "Hello world";
}

console.log('' + a);
console.log(String(a));
console.log(a());
点赞