Lodash는 JavaScript 유틸리티 라이브러리로, 다양한 기능을 제공합니다. 이 중에서 날짜와 관련된 함수들은 매우 유용하며, 많은 개발자들이 활용하고 있습니다. 이번 글에서는 Lodash의 날짜 관련 함수들과 사용 예제를 살펴보겠습니다.
1. _.now
_.now
함수는 현재 시간을 밀리초 단위로 반환합니다. JavaScript의 Date.now()
와 비슷한 기능을 제공하지만, _.now
는 Lodash 내부에서 최적화된 구현을 사용하여 성능을 향상시킵니다.
사용 예제:
const now = _.now();
console.log(now); // 1622730237869
2. _.toDate
_.toDate
함수는 문자열, 숫자, JavaScript Date
객체 등을 입력으로 받아서 Lodash Date
객체로 변환합니다. 이 함수를 사용하면 JavaScript의 다양한 날짜 표현을 Lodash에서 일관된 방식으로 처리할 수 있습니다.
사용 예제:
const date = _.toDate('2021-06-03');
console.log(date); // Wed Jun 02 2021 20:00:00 GMT-0400 (Eastern Daylight Time)
3. _.isDate
_.isDate
함수는 주어진 값이 유효한 JavaScript Date
객체인지 확인합니다.
사용 예제:
console.log(_.isDate(new Date())); // true
console.log(_.isDate('2021-06-03')); // false
4. _.differenceBy
_.differenceBy
함수는 배열 두 개를 비교하여 첫 번째 배열에만 있는 항목을 반환합니다. 이때 비교는 특정 속성 값에 기반하여 수행됩니다. 날짜 객체의 경우, _.differenceBy
에 _.toDate
를 함께 사용하여 비교할 수 있습니다.
사용 예제:
const dates1 = [new Date('2021-06-01'), new Date('2021-06-02'), new Date('2021-06-03')];
const dates2 = [new Date('2021-06-02')];
const result = _.differenceBy(dates1, dates2, _.toDate);
console.log(result); // [Wed Jun 02 2021 20:00:00 GMT-0400 (Eastern Daylight Time), Wed Jun 03 2021 20:00:00 GMT-0400 (Eastern Daylight Time)]
5. _.cloneDeepWith
_.cloneDeepWith
함수는 JavaScript 객체를 깊은 복사하여 반환합니다. 이 함수를 사용하면 날짜 객체를 복사할 때도 원하는 형태로 처리할 수 있습니다.
사용 예제:
const date1 = new Date('2021-06-01');
const date2 = _.cloneDeepWith(date1, _.toDate);
console.log(date1); // Wed Jun 02 2021 20:00:00 GMT-0400 (Eastern Daylight Time)
console.log(date2); // Wed Jun 02 2021 20:00:00 GMT-0400 (Eastern Daylight Time)
console.log(date1 === date2); // false
이상으로 Lodash의 날짜 관련 함수들과 사용 예제에 대해 알아보았습니다. 이러한 함수들을 적절히 활용하면 JavaScript에서 날짜를 다루는 작업이 편리하고 간편해질 것입니다. Lodash의 다른 기능들도 함께 살펴보시면 유용한 프로그래밍 경험을 할 수 있을 것입니다.
더 자세한 정보는 Lodash 공식 문서를 참조하십시오.