将值辅助属性时出错

时间:2018-10-11 17:03:39

标签: typescript

我具有以下界面

let selectedQuantity = 4;
export interface CartItem {
  item: Item;
   quantity: number;

  }
let cartItem = <CartItem>{
  quantity: parseInt(this.selectedQuantity, 10),
  item: item
};

任何想法为什么在为数量分配值时出现以下错误

Argument of type 'number' is not assignable to parameter of type 'string'.

1 个答案:

答案 0 :(得分:1)

如果查看parseInt的签名,应该看到它的第一个参数为string,第二个参数为可选的number。声明selectedQuantity时,其初始分配为4,这会将selectedQuantity的类型隐式设置为number

当您将selectedQuantity传递到parseInt时,您将传递number而不是string作为parseInt的第一个参数。您应该删除对parseInt的呼叫,或者将selectedQuantity的类型更改为string(例如,用let selectedQuantity = "4"代替let selectedQuantity = 4,尽管我没有立即的理由在这里使用字符串而不是数字)。