我具有以下界面
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'.
答案 0 :(得分:1)
如果查看parseInt
的签名,应该看到它的第一个参数为string
,第二个参数为可选的number
。声明selectedQuantity
时,其初始分配为4
,这会将selectedQuantity
的类型隐式设置为number
。
当您将selectedQuantity
传递到parseInt
时,您将传递number
而不是string
作为parseInt
的第一个参数。您应该删除对parseInt
的呼叫,或者将selectedQuantity
的类型更改为string
(例如,用let selectedQuantity = "4"
代替let selectedQuantity = 4
,尽管我没有立即的理由在这里使用字符串而不是数字)。