[javascript] Lodash의 날짜 관련 함수들과 사용 예제

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 공식 문서를 참조하십시오.