我有两个相同的代码示例。
但这对我来说很有趣,在这种情况下最好。我知道原型继承实际上是行为委托模式。但是您可以在我的第一个示例中看到,我在需要帮助器时为第二个示例创建了存储帮助器方法的原型,我创建了新的实例帮助器类并使用了该实例。使用完此实例后,收集垃圾。
这对我来说很有趣,哪个最好?
当我创建新的实例函数调用时间时,这是明显的性能问题吗?
class UserHelper {
checkFileSize() {
}
fileUpload() {
}
}
class User extends UserHelper {
constructor(firstName, lastName) {
super()
this.firstName = firstName;
this.lastName = lastName;
}
changeUserAvatar() {
this.checkFileSize();
this.fileUpload();
}
}
const murad = new User();
VS
class UserHelper {
checkFileSize() {
}
fileUpload() {
}
}
class User {
constructor(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
changeUserAvatar() {
const helper = new UserHelper();
helper.checkFileSize();
helper.fileUpload();
}
}
const murad = new User();