2021로부터 배운 것 (1) :: named exports

쑹춘·2022년 1월 15일
1
const I18n = useI18n();

와 같이 default exported 메소드를 만들면 안된다.

반드시 named exported 할 것. 왜냐하면,

const i18n = useI18n();

이렇게 자유롭게 쓰는 경우가 나오게 된다.

상관없지 않느냐? 라는 의견이 있을 수도 있지만,
이것은 어플리케이션이 커지면서 점점 더 정신이 없어지기 때문에 정말로는 상관이 없는 이야기가 아니다.

// i18n.module.ts
export const useI18n = () => ({ I18n });

// application.component.ts
const { I18n } = useI18n();

간혹 위와 같이 했을 때

const { I18n: i18n } = useI18n();

하는 악의로 가득찬 동료가 있을 수도 있다.
이런 경우에는 이 악의에 성의가 가득하니 마음으로는 용서하고, 대신에 PR request changes로 공격하자!

그렇다 한다면, 대체 언제 기본 내보내기default exports를 사용할까?

사용처에서 주입할 때 변수 이름을 자유롭게 짓도록 유도하고자 할 때 그렇게 하면 된다.
그런데 그런 경우가 많을까?

profile
성천

1개의 댓글

comment-user-thumbnail
2022년 1월 19일

공격 방법까지 알려주는 꿀 포스팅 감사합니다!

답글 달기