我有这个工厂:
collect()
并创建了该对象:
const task = (args) => {
const title = args.title
const completed = () => {
return args.hasOwnProperty(completed) ? args.completed : false //assign default parameter of false to completed
}
return {
title,
completed
}
}
当我尝试访问时:
const cleanRoom = task({
title: 'Test',
completed: true
})
即使我为args对象分配了完成的true属性,我也总是会出错。
我也尝试过这样做:
cleanRoom.completed()
,它返回的标题是不确定的,这使我怀疑完成函数中的问题是args.hasOwnProperty件的返回值。 我已经花了一些时间尝试解决它,但未能解决。
此外,此任务的重点是将对象作为参数传递给工厂(避免使用固定顺序的参数)
答案 0 :(得分:1)
您应该使用string
作为属性键:
const task = (args) => {
const title = args.title
const completed = () => {
return args.hasOwnProperty("completed") ? args.completed : false //assign default parameter of false to completed
}
return {
title,
completed
}
}
const cleanRoom = task({
title: 'Test',
completed: true
})
console.log(cleanRoom.completed());