【发布时间】:2020-01-02 13:13:08
【问题描述】:
我使用 ES6 中的解构函数,我将函数执行定义为参数
这是一个例子
reformatDate(date: Date) {
const dd = date.getDate();
const mm = date.getMonth() + 1;
const yyyy = date.getFullYear();
return `${yyyy}-${mm < 10 ? '0' + mm : mm}-${dd < 10 ? '0' + dd : dd}`;
}
reformatDate(new Date('2013-3-3'))
通过解构,我们可以使用
const reformatDate = ({getDate: dd = dd(), getMonth: mm = mm(), getFullYear:yyyy=yyyy() }) =>
`${yyyy}-${mm < 10 ? '0' + mm : mm}-${dd < 10 ? '0' + dd : dd}`;
reformatDate(new Date('2013-3-3'))
const reformatDate = ({getDate: dd = dd(), getMonth: mm = mm(), getFullYear:yyyy=yyyy() }) => `${yyyy}-${mm < 10 ? '0' + mm : mm}-${dd < 10 ? '0' + dd : dd}`;
console.log(reformatDate(new Date('2013-3-3')))
但是有一些错误
function getFullYear() { [native code] }-function getMonth() { [native code] }-function getDate() { [native code] }
我用过
const reformatDate = ({getDate: dd = dd.call ,....
but same error :(
【问题讨论】:
-
= dd()不调用该方法,它只是设置了一个默认参数。您需要自己在函数中调用方法...这也不起作用,因为您丢失了this -
不,这是不可能的。不要为了使用解构而尝试使用解构。
标签: javascript ecmascript-6 destructuring