JavaScript에서는 개체에 동적으로 멤버를 추가하는 것이 일반적입니다. 그러나 이러한 추가가 조건부여야 하는 경우 가장 간단한 접근 방식은 정의되지 않은 멤버로 이어지는 경우가 많습니다.
관용적 코드를 생성하려는 시도에서:
a = { b: (someCondition? 5 : undefined) };
b 멤버가 someCondition 결과와 관계없이 객체를 생성하며, 조건이 false인 경우 값이 정의되지 않게 됩니다.
이 문제를 해결하려면 보다 간결한 솔루션을 사용할 수 있습니다. 확산 연산자(...) 및 논리 AND 단락 평가(&&)를 사용하여 사용:
const a = { ...(someCondition && {b: 5}) }
이 코드를 사용하면 조건 연산자가 필요하지 않습니다. 스프레드 연산자는 중괄호를 a 객체로 확장하고 someCondition이 true인 경우 b 멤버를 추가합니다. 논리적 AND 단락 평가는 someCondition이 true인 경우에만 중괄호가 평가되도록 보장하여 정의되지 않은 멤버가 추가되는 것을 방지합니다.
이 접근 방식은 여러 조건부 멤버를 처리하도록 쉽게 확장할 수 있습니다.
const a = { ...(conditionB && {b: 5}), ...(conditionC && {c: 5}), ...(conditionD && {d: 5}), ...(conditionE && {e: 5}), ...(conditionF && {f: 5}), ...(conditionG && {g: 5}), }
위 내용은 정의되지 않은 속성 없이 JavaScript에서 조건부로 개체 멤버를 추가하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!