roomData.currentPlayers
가 undefined
또는 null
일 때 .map()
을 호출하려고 하면 다음과 같은 런타임 오류가 발생합니다.
TypeError: Cannot read properties of undefined (reading 'map')
roomData.currentPlayers
는 WebSocket 데이터를 받아오기 전까지 undefined
일 수 있음.roomData.currentPlayers
가 아직 초기화되지 않았다면 .map()
을 호출할 수 없음.기본값을 설정하여 map()
오류 방지
const users = (roomData.currentPlayers ?? []).map((player) => ({
id: player.userId,
name: player.nickname,
level: player.level,
activeCharacter: player.activeCharacter,
isHost: player.nickname === roomData.host,
isReady: roomData.readyStatus?.[player.nickname] || false,
}));
roomData.currentPlayers ?? [] → undefined 또는 null이면 빈 배열을 반환하여 .map() 실행을 방지.
if (!roomData.currentPlayers) {
console.warn("⚠️ Warning: roomData.currentPlayers is undefined");
}
로그를 추가하여 roomData.currentPlayers가 언제 undefined인지 확인.