Javascript 返回或接受两种不同的值类型
在上面的例子中,有没有一种方法可以对水果类进行编码,以便替换???与: console.log(this.getFruit.color) 到目前为止,我能管理的最接近的是: console.log(this.getFruit().color)Javascript 返回或接受两种不同的值类型,javascript,oop,typescript,Javascript,Oop,Typescript,在上面的例子中,有没有一种方法可以对水果类进行编码,以便替换???与: console.log(this.getFruit.color) 到目前为止,我能管理的最接近的是: console.log(this.getFruit().color) 这看起来像是一个反模式。也许您应该使用类似访问者或存储库的模式 class apple{ seed: number; color: string; } class orange{ color: string; harves
这看起来像是一个反模式。也许您应该使用类似访问者或存储库的模式
class apple{
seed: number;
color: string;
}
class orange{
color: string;
harvested: boolean;
}
class fruit{
fruit1: apple;
fruit2: orange;
currentfruit: boolean;
constructor{
//something
}
getFruit(){
if(!this.currentfruit){
return this.fruit1;
}else{
return this.fruit2;
}
}
showFruitData(){
???
}
}
关于风格的说明。甚至Crockford也说,新的JavaScript对象应该是PascalCase而不是camelCase。所以类、构造函数和类型通常应该是PascalCase “我投票结束这个问题,因为它看起来像是一个家庭作业。”Blazemonger实际上不是。我在自学oop
interface IFruit {
color: string;
}
class Apple impliments IFruit {
seed: number;
color: string;
}
class Orange impliments IFruit {
color: string;
harvested: boolean;
}
class FruitRepository {
repository: IFruit[];
selectedFruitIndex: number;
get selectedFruit() {
return this.repository[this.selectedFruitIndex];
}
get showFruitData() {
console.log(this.selectedFruit.color);
}
}