카테고리 없음

팀 프로젝트 > 오류

연습노트 2024. 10. 1. 14:51

<옵셔널 체이닝 (?.)의 동작 방식:>
안전한 접근: trip.author?.name은 trip.author가 null 또는 undefined일 경우, name에 접근하지 않고 undefined를 반환합니다. 이로 인해 오류가 발생하지 않습니다.
기본값 설정: || '알 수 없음' 부분은 trip.author?.name이 undefined일 경우 '알 수 없음'을 반환합니다.
직접 접근 (trip.author.name)의 문제:
TypeError 발생: trip.author가 null 또는 undefined인 경우, trip.author.name에 접근하려고 하면 JavaScript는 null 또는 undefined에서 name 속성을 읽으려고 하므로 TypeError가 발생합니다.
요약:
옵셔널 체이닝을 사용하면 안전하게 속성에 접근할 수 있어 오류를 방지할 수 있습니다.
직접 접근은 trip.author가 존재하지 않을 경우 오류를 발생시킵니다.



<오류--- 무결성 오류>

1.npm 캐시 정리:
 npm cache clean --force

2.node_modules 폴더와 package-lock.json 파일 삭제

3. 다시 인스톨


<400번대 오류>
400. 클라이언트 오류 (필드)
401. 토큰 없음
404. 서버경로 오류


<trips 배열의 구조>
trips 배열의 구조를 분석해 보면, 배열의 각 요소는 trip 객체로 이루어져 있습니다. trip 객체는 여러 가지 속성들을 포함하고 있으며, 대표적으로는 다음과 같은 구조를 가지고 있습니다:

코드 복사
[
  {
    author: {
      email: "a@a.com",  // 이메일 주소
      name: "이메일",    // 작성자 이름
      gender: "MALE",    // 성별
      role: "USER"       // 역할
    },
    authorId: 18,         // 작성자 ID
    createdAt: "2024-09-24T04:16:42.351Z",  // 생성 날짜
    id: 144,             // trip ID
    reservations: [],    // 예약 목록 (현재는 비어 있음)
    title: "경북대 -> 동대구역 택시 2024-09-24 13:16 동성 2인",  // 제목
    updatedAt: "2024-09-24T01:21:56.712Z",  // 수정 날짜
  },
  {
    author: {
      email: "b@b.com",
      name: "홍길동",
      gender: "MALE",
      role: "USER"
    },
    authorId: 5,
    createdAt: "2024-09-23T09:49:54.391Z",
    id: 140,
    reservations: [],
    title: "칠곡운암역 -> 동대구역 택시 2024-09-24 12:49 성별무관 4인 일정 모집중",
    updatedAt: "2024-09-23T09:49:54.391Z"
  },
  ...
]
배열 구조 설명:
author: 작성자에 대한 정보가 포함된 객체로, 이메일, 이름, 성별, 역할 등의 세부 정보가 들어 있습니다.
authorId: 작성자의 고유 ID.
createdAt: 트립이 생성된 날짜와 시간.
id: 해당 트립 객체의 고유 ID.
reservations: 예약 정보를 담고 있는 배열입니다. 현재는 빈 배열로 되어 있습니다.
title: 트립의 제목으로, 출발지와 도착지, 날짜, 시간 등의 정보가 포함된 문자열입니다.
updatedAt: 트립이 마지막으로 수정된 날짜와 시간.
이러한 구조에서 trips.map(trip => trip.author.email)과 같은 코드를 사용하면, trips 배열에서 각 trip 객체의 작성자 이메일만을 추출할 수 있습니다.