반응형
파괴 할당과 선택적 체인을 어떻게 결합할 수 있는가?
일부 선택적 필드와 해당 유형의 변수를 포함하는 TypeScript 인터페이스:
interface Foo {
config?: {
longFieldName?: string;
}
}
declare let f: Foo;
라고 표현하고 싶다.longFieldName
동명의 변수에
만약config
선택사항이 아니라 파괴 할당을 사용하여 반복하지 않고longFieldName
하지만 사실이야. 그래서 유형 오류가 생겼어
const { longFieldName } = f.config;
// ~~~~~~~~~~~~~ Property 'longFieldName' does not exist on type '{ longFieldName?: string | undefined; } | undefined'.
선택적 체인을 사용하여 간결하게 처리할 수 있다.undefined
사례:
const longFieldName = f?.config.longFieldName; // OK, type is string | undefined
하지만 이제 나는 반복해야 한다.longFieldName
.
내 케이크도 먹을 수 있을까?선택적 체인을 사용하여 다음 작업을 처리할 수 있는가?undefined
반복하지 않는 경우longFieldName
그렇지 않다면, 가장 간결하고 직관적인 해결책은 무엇인가?놀이터 링크를 참조하십시오.
단락 평가를 사용하여 다음과 같은 경우 폴백 값(빈 물체)을 얻으십시오.f?.config
에 대한 표현.undefined
:
const { longFieldName } = f?.config || {};
기본값을 사용할 수 있다.
const Foo = {}
const { config: { longFieldName = "" } = {} } = Foo
console.log(longFieldName) //''
반응형
'IT이야기' 카테고리의 다른 글
Vue - 부트스트랩 테이블 사용자 지정 구성 요소의 데이터 업데이트 (0) | 2022.03.24 |
---|---|
슬롯 내에서 요소 개수 가져오기 (0) | 2022.03.24 |
vue 하위 구성 요소에서 RouteEnter가 작동하지 않음 (0) | 2022.03.24 |
Reducx 종속성은 변경되지 않았지만 후속 렌더링 후 useEffect run (0) | 2022.03.24 |
Vuetify : 스로틀/차단 v-autocomplete (0) | 2022.03.24 |