我想知道以下代码是否会被视为“has-a”关系而不是“is-a”关系。我想知道这是否被认为是“紧密耦合”。我试图将某些变量保密。使用符号我可以隐藏它们。我写getFirstName()
以缩短它,这也让我知道它来自哪个Mixin。我只想要一些反馈,我还是个新手。我无法在谷歌上找到任何关于Javascript对象组成的内容。我试图通过将它们分配给原型来做mixins。我的理解是对象组合是用其他对象创建的对象。
let InfoMixin = (function(){
let firstName = Symbol();
function infoMix(first){
this[firstName] = first;
}
infoMix.prototype.getFirstName = function(){
return this[firstName];
};
return infoMix;
})();
function Student(first){
this.infoMix = new InfoMixin(first);
}
Student.prototype.getFirstName = function(){
return this.infoMix.getFirstName();
}
let student1 = new Student('Nick');
alert(student1.getFirstName());