将两个const转换并返回为单个类型

时间:2019-07-19 21:22:02

标签: javascript typescript types const

我对打字稿和js很陌生。 我有这个课:

export class Market {
   constructor(public name: string, public code: number) { }
}

export class MarketDetails {
   constructor(
   public market: Market,
   public country: string
   ) {}

   public static convertFromJSON(dbItem: any) {
     const {
       marketName,
       marketId,
       country
     } = dbItem;

     return new MarketDetails(
     // THIS LINE
     marketName + " " + marketId = Market;
     country,
     );
   }
}

基本上,在数据库中,市场另存为marketName和marketId。我想将其合并为Market类型,但是如您所见,不确定如何正确执行此操作。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

市场不是字符串类型,因此marketName +“” + marketId将不起作用。

在MarketDetails构造函数中创建一个新的Market。

    return new MarketDetails(
      // THIS LINE
      new Market(marketName, marketId),
      country
    );

答案 1 :(得分:0)

您正在尝试为类型上的值赋值

marketName + " " + marketId = Market;

Market是一个类类型,因此您应使用new Market(marketName, marketId)创建这种类型的新实例。

此外,在构造函数参数上使用;时,应该使用,

您用于convertFromJSON的最终代码如下:

public static convertFromJSON(dbItem: any) {
  const {
    marketName,
    marketId,
    country
  } = dbItem;

  return new MarketDetails(
    // THIS LINE
    new Market(marketName, marketId),
    country,
  );
}