오늘 학습한 것
- 다익스트라 알고리즘 공부 및 잘된 코드 분석
- 타입스크립트 돔 조작 관련 내용 학습
- 디바운스, 쓰로틀링
다익스트라 알고리즘
- 노드에는 출발 노드로부터의 거리가 담긴다
- 이전 노드에 저장 된 거리 + 간선에 담긴 거리
- 출발 노드에서 특정 노드로 가는 여러 경우가 있을 경우 가장 적은 비용으로 갱신한다
- queue구조는 방문할 노드를 차례로 담고, shift해서 방문한다
타입스크립트 돔 조작 관련 내용 학습
- 돔은 union타입이기 때문에 조작하려면 하나의 타입으로 narrowing해줘야 한다
- instanceof - 가장 많이 쓰는 방법
- 해당 돔의 속성이 어떤 타입에 종속되어있는지 잘 따져야 함
- querySelector로 get할 경우 element타입으로 설정됨
- optional chaning - ?. 연산자
- 신문법
- 해당 객체에 접근하려는 속성이 존재하면 출력 or 실행, 없다면 undefined를 반환
디바운스, 쓰로틀링
- 이벤트를 처리를 조절하는 기법들
- 디바운스
- 주로 input이벤트에서 사용
- 함수가 여러번 호출되면 가장 마지막 호출만 실행시키는 것
- 이벤트가 일어나고 특정 시간 이후(카운트 설정)에 리스너함수를 실행시킴
- 이벤트가 일어날 때마다 카운트를 리셋
- 쓰로틀링
- 주로 scroll이벤트에서 사용
- 함수가 호출되면 특정 시간 동안은 다시 호출되지 않도록 하는 것
- 특정 시간마다 정기적으로 함수가 호출되도록 함
- 카운트를 걸어놓은 함수가 있는 동안은 함수 호출이 되지 않게 하고
- 설정한 시간이 지나면 함수를 실행시키고 다시 카운트를 건다