簡體   English   中英

Object 可能未定義? Typescript Angular

[英]Object is possible undefined? Typescript Angular

我正在嘗試實現這個 function 但我不斷收到這個未定義的錯誤。

let item: OrderItem | undefined;

        item = this.order.items.find(o => o.productNumber === product.productNumber);

        if (item !== undefined) {
            item.quantity++;//Error
        } else {//Something}

錯誤發生在 item.quantity++ 附近; 這些是我嘗試過的事情

if (!item) {
            item.quantity++;

    if (item) {
        item.quantity++;

任何幫助表示贊賞。

訂單.ts

export class OrderItem {
    Id: number | undefined;
    productId: number | undefined;
    productNumber: number | undefined;
    productName: string | undefined;
    productPicture: string | undefined;
    productPrice: number | undefined;
    productDescription: string | undefined;
    quantity: number | undefined;
    unitPrice: number | undefined;
}

export class Order {
    orderId: number | undefined;
    orderNumber: string | undefined;
    orderDate: Date = new Date();
    orderTotal: number | undefined;
    /*orderStatus: string | undefined;*/
    items: OrderItem[] = [];
}

由於quantity輸入為number | undefined number | undefined item.quantity可能是undefined 嘗試使用item.quantity++來增加它會導致NaN ,因此不是您在這里所期望的。

為了滿足這里的類型檢查器嘗試檢查item.quantity不是undefined

if (item?.quantity !== undefined) {
  item.quantity++;
}

(注意這里使用了可選鏈

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM