JavaScript에서 점 표기법 문자열을 사용하여 중첩된 개체 속성에 액세스
객체를 조작할 때 깊게 중첩된 속성에 액세스해야 하는 경우가 많습니다. 점 표기법과 대괄호 표기법을 사용하면 이를 달성할 수 있지만 각 중첩 수준을 개별적으로 지정해야 합니다. 복잡한 객체의 경우 이는 지루하고 오류가 발생하기 쉽습니다.
실용적인 해결책은 점 표기법 문자열을 활용하여 하위 객체 속성에 직접 액세스하는 것입니다. 다음 구조의 객체를 상상해 보세요.
const r = { a: 1, b: { b1: 11, b2: 99 } };
점 표기법을 사용하여 값 99에 액세스하려면 일반적으로 다음과 같이 작성합니다.
r.b.b2;
그러나 동적으로 다음과 같은 변수 문자열을 사용하는 속성:
const s = "b.b2";
이 시나리오에서는 간단한 점 표기법(예: r.s) 또는 대괄호 표기법(r[s])은 작동하지 않습니다.
속성 검색을 위한 사용자 정의 함수
한 가지 접근 방식은 점 문자로 문자열을 입력하고 속성에 반복적으로 액세스합니다.
function getDescendantProp(obj, desc) { const arr = desc.split("."); while (arr.length && (obj = obj[arr.shift()])); return obj; } console.log(getDescendantProp(r, "b.b2")); // 99
이 함수는 다음을 사용하여 중첩 속성에 대한 액세스를 단순화합니다. 문자열 표현. 분할 문자를 적절하게 수정하여 배열 인덱스 액세스를 처리하도록 확장할 수도 있습니다.
위 내용은 점 표기법 문자열을 사용하여 중첩된 JavaScript 개체 속성에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!