Date()와 Error()는 리터럴 형식이 없다.
const a = new Date();
a.getTime(); // Unix 타임 - 타임스탬프 값으로 많이 사용
Date.now(); // Unix 타임 - 타임스탬프 값으로 많이 사용
Date(); // Mon Feb 07 2022 10:14:04 GMT+0900 (한국 표준시)
new Date(); // Mon Feb 07 2022 10:14:04 GMT+0900 (한국 표준시)
a.getFullYear() // 년
a.getMonth() // 월 : 0 ~ 11, 0부터 시작하므로 주의
a.getDate() // 일
a.getDay() // 요일 : 0 ~ 6, 0부터 시작하므로 주의 (일요일 ~ 토요일)
a.getHours() // 시간
a.getMinutes() // 분
a.getSeconds() // 초
a.getMilliseconds() // 밀리초
// 시간 계산 - 시간 계산시 밀리초로 나온다. 24시간 === 86400000 밀리초
new Date('2022-02-01'); // Tue Feb 01 2022 09:00:00 GMT+0900 (한국 표준시)
new Date('2022-02-02') - new Date('2022-02-01') // 86400000
Error 생성자는 앞에 new가 있든 없든 결과는 같다.
임의로 에러를 발생시켜야 하는 곳에 사용
function foo(x) {
if (!x) {
throw new Error( 'x를 안 주셨어요!' );
}
}
foo(); // Uncaught Error: x를 안 주셨어요!
message 프로퍼티와 type등 다른 프로퍼티가 포함되어 있을 때도 있다. 하지만 사람이 읽기 편한 포맷으로 에러 메시지를 보려면 그냥 Error객체의 toString() 을 호출하는 것이 제일 좋다.
아래와 같이 try, catch문을 사용할 수도 있다.
function foo(x) {
if (!x) {
try {
throw new Error( 'x를 안 주셨어요!' );
} catch (e) {
console.log(e.name + ": " + e.message); // Error: x를 안 주셨어요!
}
}
}