Singer类传入对象的设计原因
来源:5-3 歌手数据处理和 Singer 类的封装
RamirezNi
2020-03-31
老师,
你的这里为什么传入一个对象,有什么特别的考虑吗?实例化的时候也需要传入对象,似乎更麻烦一些。
我的猜想是考虑到传入对象不需要考虑参数顺序,但既然封装了这个类编辑器会提示参数及顺序,
那么 还有其他因素导致这样设计吗?
export default class Singer {
constructor ({ id, name }) {
this.id = id
this.name = name
this.avatar = `https://y.gtimg.cn/music/photo_new/T001R300x300M000${id}.jpg?max_age=2592000`
}
}
new Singer({
name: item.Fsinger_name,
id: item.Fsinger_mid
})
直接按顺序传入对应参数,似乎更方便
export default class _Singer {
constructor(id, name) {
this.id = id;
this.name = name;
this.avatar = `https://y.gtimg.cn/music/photo_new/T001R300x300M000${id}.jpg?max_age=2592000`;
}
}
new _Singer(item.Fsinger_name, item.Fsinger_mid)
写回答
1回答
-
一般参数过多的时候,用对象可以避免参数顺序出错,当然这个只是建议,如果借助编辑器的提示写多个参数也可以。
012020-04-01
相似问题