문제의 코드
const result = goods.map((item) => { return { goodsId: item.goodsId, name: item.name, price: item.price, thumbnailUrl: item.thumbnailUrl, category: item.category, }; });
오류문
$ node app.js 3000 포트로 서버가 열렸어요! [Object: null prototype] {} undefined C:\Users\user\Desktop\SPA_MALL\routes\goods.js:14 const result = goods.map((item) => { ^ // TypeError: Cannot read properties of null (reading 'map') at C:\Users\user\Desktop\SPA_MALL\routes\goods.js:14:24 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) // Node.js v18.16.0
=>
goods
변수가null
->map
호출이 불가능함.
수정 전
const result = goods.map((item) => { return { goodsId: item.goodsId, name: item.name, price: item.price, thumbnailUrl: item.thumbnailUrl, category: item.category, }; });
수정 후
if (goods === null) { res.status(200).json({ goods: [] }); // 빈 배열을 반환하거나, 적절한 기본 값으로 대체 } else { const result = goods.map((item) => { return { goodsId: item.goodsId, name: item.name, price: item.price, thumbnailUrl: item.thumbnailUrl, category: item.category, }; });
=> if
문을 사용 -> goods
변수가 null
인 경우, 빈 배열을 반환하도록 처리
= map
함수 호출 및 빈 배열을 클라이언트로 전달