Skip to content

defaults (Lodash 호환성)

Object.assign()을 사용하세요

defaults 함수는 undefinedObject.prototype에서 상속된 속성들을 특별히 처리하는 복잡한 로직으로 인해 느리게 동작해요.

대신 더 빠르고 현대적인 Object.assign()을 사용하세요.

객체에 기본값을 설정해서 undefined 속성을 채워요.

typescript
const result = defaults(object, source);

레퍼런스

defaults(object, ...sources)

객체의 undefined 속성이나 Object.prototype에서 상속된 속성에 기본값을 설정할 때 defaults를 사용하세요. 여러 개의 기본값 객체를 전달할 수 있고, 왼쪽에서 오른쪽 순서로 적용돼요.

typescript
import { defaults } from 'es-toolkit/compat';

// 기본값으로 undefined 속성 채우기
defaults({ a: 1 }, { a: 2, b: 2 }, { c: 3 });
// 반환값: { a: 1, b: 2, c: 3 }

// undefined 속성만 기본값으로 채워져요
defaults({ a: undefined }, { a: 1 });
// 반환값: { a: 1 }

// null 값은 그대로 유지해요
defaults({ a: null }, { a: 1 });
// 반환값: { a: null }

속성이 이미 값을 가지고 있다면 기본값으로 덮어쓰지 않아요.

typescript
import { defaults } from 'es-toolkit/compat';

defaults({ a: 1, b: 2 }, { b: 3 }, { c: 3 });
// 반환값: { a: 1, b: 2, c: 3 }

파라미터

  • object (any): 기본값을 설정할 대상 객체예요.
  • ...sources (any[]): 기본값을 제공하는 소스 객체들이에요.

반환 값

(any): 기본값이 설정된 객체를 반환해요. 첫 번째 인수인 object가 수정돼요.

MIT 라이선스에 따라 배포됩니다.