소수점 관리
소수점 이하 아래 버림
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor
toPrecision() : 이건 정확히 모르겠음.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Number/toPrecision
toFixed(number) :
The number of digits to appear after the decimal point; this may be a value between 0 and 20
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed
/**
* number -> 숫자 서식을 지원하는 객체입니다.
* https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
* @param _profit
*/
const numberFormat = (_profit: number, decision: number = 0) => {
return new Intl.NumberFormat('ko-KR', {maximumFractionDigits: decision, minimumFractionDigits: decision}).format(
_profit,
);
};
Day.js 기준으로 설명
보통 날짜 데이터를 쓸때 DB에 저장된 datetime을 가지고
날짜간 비교, 해당 datetime 달인지?, 경과를 date, month, year로도 볼 수 있고,
YYYY-MM-DD 형식으로 parse한다든지 모든 일을 dayjs로 할 수 있어요.
참고:
https://john015.github.io/moment-js%EB%A5%BC-day-js%EB%A1%9C-%EB%8C%80%EC%B2%B4%ED%95%98%EA%B8%B0
Date 생성자는 시간의 특정 시점을 나타내는 Date 객체를 생성함.
Date 객체는 1970년 1월 1일 UTC 00:00으로부터 지난 시간을 밀리초로 나타내는 Unix Timestamp를 사용함.
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
const mergeConfigs = (target, configs) => {
return configs.reduce((acc, cur) => {
return mergeConfig(acc, cur);
}, target);
};
// Merge a `source` object to a `target` recursively
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
const mergeConfig = (target, source) => {
// Iterate through `source` properties and if an `Object` set property to merge of `target` and `source` properties
for (const key of Object.keys(source)) {
if (source[key] instanceof Object) Object.assign(source[key], mergeConfig(target[key], source[key]));
}
// Join `target` and modified `source`
Object.assign(target || {}, source);
return target;
};