Math는 수학적인 상수와 함수를 위한 내장 객체로, 인스턴스가 없는 객체다.
PI
abs: 절댓값을 반환하는 메서드
ceil: 주어진 수보다 크거나 같은 정수 중에서 가장 작은 값을 반환 → 올림
floor: 주어진 수보다 작거나 같은 정수 중에서 가장 큰 값을 반환 → 내림
round: 반올림 → .5 기준
random: 0 이상 1 미만의 난수를 생성
pow(2, 5): 2의 5승을 구해준다.
min: 최소값
max: 최대값
sqrt: 제곱근을 반환
삼각함수 (사인, 코사인, 탄젠트)
피타고라스 정리: a² + b² = c²
Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2))
Date 객체는 현재 시간을 나타내는 객체로, 여러 형태로 사용할 수 있습니다.
const date = new Date();
// 아래처럼 만들면 시, 분, 초가 세팅되지 않는다.
new Date(2025, 11, 5);
// 아래처럼 만들면 시, 분, 초가 세팅된다.
date.setFullYear(2025); // 연도 지정하기
date.setMonth(); // 월 지정 (12 -> 1, 13 -> 2)
console.log(date);
console.log(date.getFullYear());
console.log(date.getMonth() + 1); // 0부터 시작
console.log(date.getDate());
// 자릿수를 2자리로 맞추기 (예: 4 -> 04)
String(date.getDate()).padStart(2, "0");
// 요일 구하기 (0~6, 0=일요일)
console.log(date.getDay());
// 지역에 맞는 시간 형태로 출력
// 지역 코드를 넣으면 어딜 가든 해당 시간대로 나온다.
date.toLocaleString("ko-KR");
date.toLocaleString("en-CA"); // "2024-01-01" 형태로 반환
const startDate = new Date('2024-10-30');
const endDate = new Date('2024-11-30');
const diffTime = endDate - startDate; // 밀리초 단위
const diffDays = diffTime / (1000 * 60 * 60 * 24); // 일 수로 변환
console.log(diffDays); // 두 날짜 사이의 일 수
let date = new Date(2013, 0, 32); // 2013년 1월 32일은 없습니다.
alert(date); // 2013년 2월 1일이 출력됩니다.
// 자동으로 월이 넘어가면 계산까지 해줌
date.setDate(date.getDate() + 6);
alert(`페이지 로딩이 ${performance.now()}밀리초 전에 시작되었습니다.`);
실무에서 Date 객체를 많이 사용할 것 같다. 라이브러리를 사용하더라도 기본 구성을 알아야 하니 익혀 두자.