상위 0% 일 때도 문구가 정상적으로 보이도록 코드를 수정했습니다
(사진은 percentile 변수에 고의로 0 넣어서 테스트한 거고, 34점일 때 상위 0% 아닙니다! 혹시 수상하게 생각하실까봐)
💬 To. 리뷰어
아래는 구구절절 히스토리인데요 사실 굳이 안 읽으셔도 되긴 합니다
왜 percentile = 0일 때 0만 보였냐!
{percentile && <p>전체 사용자 중 상위 {percentile}%의 점수에요!</p>}
and 연산자는 처음으로 만나는 falsy 값을 반환함 (0은 falsy)
따라서 주어진 상황에서 표현식은 아래처럼 바뀜
{percentile} // percentile 값 = 0만 출력하게 됨
and 연산자는 왜 썼냐
interface GameResultProps {
score: number;
percentile?: number; // percentile이 선택 속성이라, undefined일 수 있기 때문에 and 연산자가 필요했음
reStart: () => void;
}
왜 선택 속성으로 만들었냐
레거시 코드의 변경 사항에서 눈치 채셨겠지만?
예전에는 게임 종료 API 연결 전이어서 넘길 percentile 값이 없었음 = percentile을 잠시 선택 속성으로...
근데 서버에서는 percentile 값을 항상 주는데, 레거시 코드를 위해 선택 속성으로 해둔다면
나중에 헷갈릴 수 있을 거 같아 필수 속성으로 바꿨습니당
💻 개요
258
📋 변경 및 추가 사항
상위 0% 일 때도 문구가 정상적으로 보이도록 코드를 수정했습니다 (사진은
percentile
변수에 고의로 0 넣어서 테스트한 거고, 34점일 때 상위 0% 아닙니다! 혹시 수상하게 생각하실까봐)💬 To. 리뷰어
아래는 구구절절 히스토리인데요 사실 굳이 안 읽으셔도 되긴 합니다
왜
percentile = 0
일 때 0만 보였냐!and 연산자는 왜 썼냐
왜 선택 속성으로 만들었냐
레거시 코드의 변경 사항에서 눈치 채셨겠지만? 예전에는 게임 종료 API 연결 전이어서 넘길
percentile
값이 없었음 = percentile을 잠시 선택 속성으로... 근데 서버에서는 percentile 값을 항상 주는데, 레거시 코드를 위해 선택 속성으로 해둔다면 나중에 헷갈릴 수 있을 거 같아 필수 속성으로 바꿨습니당