[英]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.