Javascript의 객체 구조화 | 실시간 예 | 좋은 연습
다음은 API 호출에서 얻은 응답 개체 구조입니다.
response = {
data:
someData: {
name: 'Ashish',
number: 9876543210
}
}
}
name
및 number
만 코드에서 사용되었습니다. 이전에 작성한 주석을 받은 코드는 다음과 같습니다.const { name, number } = response.data.someData;
문제
이제 위 코드의 문제는,
undefined
에서 someData 를 찾으려고 합니다. 이로 인해 응용 프로그램이 중단될 수 있습니다그래서 위의 문제를 피하기 위해 Google에서 기본값을 사용하여 javascript multilevel destructuring에 대한 모범 사례를 검색해야 했습니다. 그리고 여기 내가 얻은 것이 있습니다.
해결책
const { data: { someData: { name, number } } = { someData: { name: '', number: null } } } = response;
설명
다단계 구조화를 시도하지 않은 경우 위의 코드가 약간 혼란스러워 보일 수 있습니다. 위의 코드를 여러 문으로 분해해 보겠습니다.
1. 다단계 구조화
const {
data:
{ someData:
{
name,
number
}
}
} = response;
//OR
// In one line
const { data: { someData: { name, number } } } = response;
이것이 우리가 다단계 객체를 구조화하는 방법입니다. 외부에서 부모 객체
data
가 자식 객체someData
를 가리키고 다음 자식 객체someData
가 name
및 number
값을 갖는 자식 객체를 참조합니다.2. 기본값 할당
응답 개체에
data
가 없으면 기본값을 할당합니다.const { data = {} } = response;
응답에
data
가 없으면 응답 내부에 빈 객체가 있는 데이터가 생성됩니다.메모:
기본값은 오른쪽으로 이동하고
=
값을 할당하는 데 사용됩니다.const {
data: {
someData: {
name,
number
}
} = { someData: { name: '', number: null } } } = response;
// OR
// in 1 line
const { data: { someData: { name, number } } = { someData: { name: '', number: null } } } = response;
이것은
someData
기본값이 name
빈 문자열이고 ''
의 기본값이 number
인 null
개체를 만듭니다.메모:
''
빈 문자열 및 null
는 거짓 값입니다.
Reference
이 문제에 관하여(Javascript의 객체 구조화 | 실시간 예 | 좋은 연습), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ashish9342/object-destructuring-in-javascript-real-time-example-good-practice-5g97텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)