簡體   English   中英

類型錯誤:無法將未定義或 null 轉換為 object javascript

[英]TypeError: Cannot convert undefined or null to object javascript

嘗試刪除 object 時出現錯誤。目前沒有數據,因為它是通過其他代碼添加的。 可能的問題是我可能需要刪除數據(如果存在)。 我來賓我需要一種方法來檢查數據是否存在,然后再刪除

錯誤消息:TypeError:無法將 undefined 或 null 轉換為 object

錯誤來自這一行:delete rooms?.[roomId]?.[socket.id];

interface IDevice {
    deviceId: string;
    deviceName?: string;
    socketId: string;
    isReconnecting?: true | false;
}

const rooms: Record<string, Record<string, IDevice>> = {};

if (typeof rooms?.[roomId]?.[socket.id] !== 'undefined' && rooms?.[roomId]?.[socket.id] !== null) {
     delete rooms?.[roomId]?.[socket.id];
}

只需刪除?. 在刪除中: delete rooms[roomId][socket.id]; 它告訴 typescript 該值可能未定義(並且您不能執行delete undefined ,這是您收到的錯誤)。 您已經檢查過該值是否存在,所以沒問題。

暫無
暫無

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

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