programing

Vue의 이상한 표기법: const { state = {} = 이.$store;

goodsources 2022. 8. 28. 09:58
반응형

Vue의 이상한 표기법: const { state = {} = 이.$store;

이미 생성된 프로젝트를 따르고 있는데 Vue 프로젝트에서 Vuex를 사용한 다음 표기법을 발견했습니다.

const { state = {} } = this.$store;
const { orders = {} } = state;

Vuex 저장소의 값과 동일하게 설정된 state라는 이름의 로컬 개체를 정의하는 것 같습니다.그리고 그것을 "orders"라고 불리는 다른 오브젝트와 동일하게 설정합니다만, 표기법 자체는 잘 모르겠습니다.즉, 이것이 나타내는 것은 다음과 같습니다.

{ variable = {} } = anotherObj

또, 이 표기법이 존재하는 경우는, 그 표기법이라고 부릅니다.(클론을 복제하는 방법인 것 같기 때문에 구글을 검색하여 딥 클로닝 등을 처리할 수 있습니다.)아니면 Vuex만의 특별한 문제일까요?

이것은, 다음과 같습니다.

const { state = {} } = this.$store;

는, 송신원(송신원)의 경우, 디폴트치할당파기하고 있습니다.this.$store) 중 하나에 속성이 없습니다.state그 가치를 가지고 있지 않은가?undefined그 결과는 다음과 같습니다.state가치가 있다this.$store.state해당 속성이 존재하며 값이 없는 경우undefined또는 속성이 존재하지 않거나 값이 있는 경우 새 공백 개체가 생성됩니다.undefined.

예(개체 대신 문자열을 사용하지만 주체는 동일):

const obj1 = {};
const { a = "default" } = obj1;
console.log(a);        // "default"

const obj2 = {
    b: "value from obj2"
};
const { b = "default" } = obj2;
console.log(b);        // "value from obj2"

언급URL : https://stackoverflow.com/questions/58205670/strange-notation-in-vue-const-state-this-store

반응형