-
JavaScript 조건문 - 2023. 04. 19 [DAY 7]공부/회고 2023. 4. 20. 08:52반응형
자바스크립트의 필수 과정인 조건문에 대해 학습하였다
어제와 동일하게 페어들과 중간 퀴즈를 진행하였고, 어제보다 헷갈리는 문제는 딱 한 가지가 있었다.
1. 시, 분, 초를 입력받으면 1초 뒤의 시간을 리턴하는 문제
function addOneSecond(hour, minute, second) {
if (second >= 0 && second < 60) { // 먼저 초 단위 계산
second = second + 1;
if (second >= 60) { // 1초 올렸을 때 60초가 된다면 0초로 변환
second = 0;
minute = minute + 1; // 1분 추가
if (minute >= 60) { // 1분 올렸을 때 60분이 된다면 0분으로 전환
minute = 0;
hour = hour + 1; // 1시간 추가
if (hour >= 24) { // 1시간 올렸을 때 24시간이 된다면 0시간으로 전환
hour = 0;
}
}
}
return "1초 뒤에 " + hour + "시 " + minute + "분 " + second + "초 입니다";
}
}> 23:59:59 를 입력받으면 0:0:0 이 된다.
처음에는 if (second >= 60) 을 >으로 입력해서 오류가 발생했다. 어떤 오류인지 못 찾겠어서 chatgpt를 이용해 보았는데 >=을 입력하라고 해서 입력하였더니 정상 출력 결과가 나왔다.
아래는 chatgpt는 리턴문을 아예 새로 작성했다.
return "1초 뒤에 " + (hour === 24 ? "0" : hour) + "시 " + minute + "분 " + second + "초 입니다.";
hour === 24 ? "0" : hour는 삼항 연산자(ternary operator)를 사용한 표현식입니다. 이 표현식은 다음과 같은 의미를 가집니다:
만약 hour가 24와 같다면, 즉 24시가 되었다면, "0"을 반환하고, 그렇지 않으면 hour의 값을 반환합니다.
이 표현식은 조건에 따라 다른 값을 반환해야 할 때 사용됩니다. if-else문의 축약형으로 생각할 수 있습니다.
위의 함수에서 hour가 24일 때는 "0시"로 변경해야 하기 때문에, hour === 24 조건에서 "0"을 반환하고, 그렇지 않으면 hour 값을 반환합니다.반응형'공부 > 회고' 카테고리의 다른 글
두번째 페어 프로그래밍 - 2023. 04. 21 [DAY 9] (0) 2023.04.21 JavaScript 반복문과 함수 - 2023. 04. 20 [DAY 8] (0) 2023.04.21 JavaScript 입문 - 2023. 04. 18 [DAY 6] (0) 2023.04.18 혼자 코딩 - 2023. 04. 17 [DAY 5] (0) 2023.04.17 첫 페어 프로그래밍 - 2023. 04. 14 [DAY 4] (0) 2023.04.14