JavaScript에서 날짜 부분을 단어로 출력하기
이미 getDay 메서드를 사용하여 숫자로 요일을 출력하는 방법을 배웠습니다. 그러나 종종 우리에게 필요한 것은 요일의 번호가 아니라 텍스트로 된 요일 이름입니다. getDay 메서드가 반환하는 숫자를 해당 요일 이름으로 변환하는 코드를 작성해 봅시다.
먼저, 현재 요일의 번호를 출력하는 코드를 작성해 보겠습니다:
let date = new Date();
let day = date.getDay();
console.log(day);
이제 이 코드를 수정하여 요일 번호 대신 요일 이름을 화면에 출력하도록 해봅시다 (간단하게 일요일은 '일', 월요일은 '월' 등으로 표시하겠습니다).
문제를 해결하기 위해 요일 배열 days를 만들고 일요일부터 시작하겠습니다 (일요일이 0번째 날이기 때문입니다):
let days = ['일', '월', '화', '수', '목', '금', '토'];
예를 들어, 이 배열을 사용하여 '화'를 어떻게 출력할 수 있을까요? 해당 요일의 번호(화요일은 2번)를 대괄호 안에 전달하면 됩니다:
let days = ['일', '월', '화', '수', '목', '금', '토'];
console.log(days[2]); // '화'를 출력합니다
그러나 우리는 요일을 수동으로 전달하는 것이 아니라, JavaScript가 현재 요일을 자동으로 판단하고 그 이름을 출력하기를 원합니다. 이를 위해서는 getDay 메서드가 반환하는 값과 우리의 days 배열을 결합해야 합니다:
let date = new Date();
let day = date.getDay();
let days = ['일', '월', '화', '수', '목', '금', '토'];
console.log(days[day]);
다음 배열이 주어졌다고 가정해 보겠습니다:
let months = [
'1월', '2월', '3월', '4월', '5월', '6월',
'7월', '8월', '9월', '10월', '11월', '12월'
];
이 배열을 사용하여 현재 월의 이름을 출력하세요.