learnjs
learnjs copied to clipboard
06. 비구조화 할당 (구조 분해) 문법 · GitBook
질문이 있습니다..! 맨아래나 혹은 중간중간에 const { state: { information: { name, languages } }, value } = deepObject;
const extracted = { name, languages, value };
console.log(extracted);
해당 코드의 첫번째 문단을 보면 객체를 생성하는것 같은데 객체의 이름을 지정하지 않고 변수?들을 가져오는데요. 아랫 문단에서 특정 객체에 대한 지정없이 바로 어떻게 요소들을 불러오는 것인지 이해가 잘 되지 않네요...! 제가 말해놓고도 설명을 엄청 못해서 죄송합니다ㅠ. 답변해 주시면 감사하겠습니다.!
말씀하신 첫번째 문단은 객체를 생성하는게 아니라 비구조화 할당 (구조 분해) 을 하는 것입니다.
deepObject 라는 객채에 크게 state, value 이렇게 있고, state 에 information 에 name 과 languages 가 있는 거죠.
name과 languages 처럼 깊숙한 객체 안에 있는 값을 추출하는 법을 보여주는 예제로 보입니다.
deepObject 객체 안에 있는 name, languages, value 를 추출해서 아래의 extracted 객체에서 사용한 것이 되겠죠.
제 생각이고 정확한 정보는 아니니 참고만 하시길 바라겠습니다.
비구조화 할당 이후 값을 변경하면, 원본 값이 변하지 않는데요. shallow copy , deep copy 여부도 설명되면 좋을거 같아요.
22.03.26
22.08.18