티스토리 뷰

TIL Today I Learned

[TIL] 210519

adore_voy 2021. 5. 19. 23:22

- 클로저: 내부 함수와 밀접 연관. 내부함수는 외부함수의 지역변수에 접근이 가능하며, 외부 함수가 소멸 된 후에도 내부함수가 외부함수 변수에 접근 가능.

자신이 사라지기 전 까지 스코프 종결을 미룸. 이 말인 즉, 자신이 사라지면 자신의 스코프도 종결한다는 말. 생성 될 당시의 환경(스코프 체인)을 기억함.

- 프라이빗 속성: 객체 외부에서는 접근할 수 없는 외부에 감춰진 속성이나 메소드. 객체의 내부에서만 사용해야 하느 ㄴ값이 노출되는 것에 문제점을 줄이게 함.

- 태스크보다 마이크로태스크의 우선순위가 더 높다. 태스크 중 대기중인 태스크가 있어도 마이크로 태스크가 먼저 실행됨.

-마이크로태스크 큐의 작업은 실행 할 것이 아무것도 남아있지 않으면 실행됨.

- 동기 -> 완결 비동기 마이크로 태스크 -> 완결 비동기 태스크 -> 미완결 비동기 태스크 -> 마이크로 태스크

- 태스크 : setTimeout, setInterval

- 마이크로 태스크: promise, async 등

- promise는 pending 만 아니면 완결됨. resolve, reject 둘 중 하나라도 되면 완결. 이후에 then 콜백 호출.

- 태스크는 시간이 지나면 완결. 시간이 없거나 0이면 콜스택에 들어간 즉시 완결.

 

-  vuex: 단방향 데이터 관리. actions가 있다는 가정 하에 과정을 보자.

- 각 컴포넌트에서 dispatch로 actions를 호출 -> actions가 호출을 받고 commit으로 mutations를 호출 -> mutations가 호출을 받고 state를 변경

- state: 상태값. 변수라고 보면 됨.

- mutations: 상태를 변경시킬 수 있는 유일한 것. 동기적인 것 만 가능.

- actions: mutations를 실행시켜 변경함. 비동기 로직을 위함. 일단 실행시키고 먼저 회신이 온 것 부터 처리함. actions는 state를 직접 변경시킬 수 없다. {rootState, state, dispatch, commit}의 기본 인자를 받을 수 있음.

 

- 기본적으로 모듈에서 state 값은 동일 모듈 내 state만 참조하게 된다. 만일 최상위 state나 다른 모듈의 변수를 활용하려면 state가 아닌 rootState를 활용해야함. 그러나 rootState는 actions와 getters의 인자로만 사용될 수 있음. mutations에서 사용하려면 actions에서 받아 mutations쪽으로 commit해 활용해야한다.

반응형

'TIL Today I Learned' 카테고리의 다른 글

[TIL] 211029  (2) 2021.10.29
[TIL] .env  (0) 2021.09.24
반응형 네비게이션, 푸터 색배합 너무 예뻐서 기록  (0) 2021.02.19
[TIL] 201209  (0) 2020.12.09
[TIL] 201205  (0) 2020.12.06
댓글