[JS] Date, Math / TIL # 24

JS의 날짜 객체인 Date와 수학적 기능을 제공하는 객체인 Math를 알아보자

Date

new Date()를 통해 생성하며 날짜와 시간과 관련된 다양한 메서드가 존재한다

const date = new Date();
date.getFullYear(); // 년
date.getMonth()+1; // 월 ❗️ 현재 -1의 값이 나옴
date.getDate(); // 날짜
date.getDay(); // 요일 ❗️ 숫자로 나옴!
date.getHours(); // 시
date.getMinutes(); // 분
date.getSeconds(); // 초
date.getTime(); // ❗️ 1970년 1월 1일을 기준으로 얼만큼의 밀리초가 지났는지를 반환함 (비교 연산을 통해 어떤게 더 과거의 일인지 알 수 있음

또한 매개변수를 통해 해당 날짜의 Date를 구할 수도 있다

const date1 = new Date('December 17, 2019 03:24:00');
// 2019-12-17T03:24:00.000Z

const date2 = new Date('2019-12-17T03:24:00');
// 2019-12-17T03:24:00.000Z

const date3 = new Date(2019, 5, 1);
// 2019-06-01T00:00:00.000Z

Math

수학 계산을 위한 객체로 유용한 메서드들을 제공한다

round, ceil, floor

  • round : 반올림
  • ceil : 올림
  • floor : 내림
Math.round(2.1); // 2
Math.round(2.8); // 3

Math.ceil(2.1); // 3
Math.ceil(2.8); // 3

Math.floor(2.1); // 2
Math.floor(2.8); // 2

Random

0.0000000000000000에서 0.9999999999999999 사이의 값에서 랜덤수를 제공

하지만 이런 랜덤 값은 유용하게 사용할 수가 없다. 때문에 위에서 나온 ceil, floor등을 이용해서 정수로 변환 후 사용한다

Math.random(); // 0.26653614620646193
Math.floor(Math.random() * 10); // 2

설명 🚀
10을 곱함으로서 0.2665...을 2.6653....으로 변환시킨후 Math.floor를 통해 내림하여 2라는 랜덤 정수 값을 만드는 것이다

특정값 사이의 랜덤 값 구하기
예를 들어 max, min 값이 주어지고 둘 사이의 값을 구하라 했을 때 다음과 같이 구할 수 있다

Math.floor(Math.random() * (max - min + 1) + min)

설명 🚀
랜덤 값에 min-max+1을 통해 랜덤으로 출력될 정수의 수를 구하고 +min을 통해 첫 랜덤 숫자를 정해주는 식이다
`문제를 풀 때 (max - min + 1) 부분이 이해가 안됐는데, 랜덤으로 뽑힐 숫자의 수 라고 생각하니 이해되었다

끝~

좋은 웹페이지 즐겨찾기