profile
개발을 합시다 :)

JS - Colletions

면접을 보던 중 , JavaScript의 colletions에 관한 질문을 듣고 당황한 기억이 있다. colletions이란 용어가 어떤 개념인지 몰라서 당황하여 해당 개념을 다시 정리해본다. 우선 Colletion이란 여러 원소들을 담을 수 있는 자료구조를 뜻한다. JavaScript의 Colletion으로 ES5 이전에는 Object와 Array만 있었지만, ES6 부터는 Map, WeakMap, Set, WeakSet, Typed Array가 추가되었다. Map Map은 Key - value 의 쌍으로 이루어져있다. > 객체와의 차이점 객체와는 다르게 Key는 문자열이 아닌 다른 형태도 지정이 가능하다. 객체는 크기를 수동으로 추적하지만 Map은 size메서드를 통해 쉽게 얻을 수 있다. mdn 문서에 따르면 모든 Key & Value가 동일한 type인 경우에는 객체대신 Map사용을 추천하며, 각각의 요소마다 적용할 로직이 있는 경우에는 객체사용을 추천

2023년 3월 30일
·
0개의 댓글
·

JS - event.target

event.target : 부모로부터 이벤트가 위임되어 발생하는 자식의 위치(이벤트 버블링에 의해 발생) event.currentTarget : 이벤트가 부착된 부모의 위치

2023년 3월 11일
·
0개의 댓글
·

JS - This

JS의 This는 기본적으로 window(globalThis)이다. This는 아래의 규칙을 갖는다. JS의 this는 다른 언어와 다르게 그 값이 런타임(호출)에 결정된다. 일반 함수의 this는 전역객체를 지칭한다. 단, obj.함수()인 경우에는 obj를 지칭한다.(call,bind등으로 this를 바꾸는경우에도 this가 변경된다) 화살표 함수의 this는 상위 스코프(부모)를 지칭한다. 객체 및 생성자의 this는 객체 및 생성자를 지칭한다.

2023년 3월 11일
·
0개의 댓글
·

JS - 비동기

JS 이벤트 루프 자바스크립트는 기본적으로 동기로 작동하며 콜스택에 쌓인다. 그러나 promise 및 setTimeout과 같이 비동기로 작동하는 코드들은 백그라운드로 넘겨지고 콜백큐에 쌓이고, 콜스택이 비어지면 순차적으로 콜스택으로 넘어간다. Promise 프로미스는 쉽게 얘기하면 결과값을 나중에 원할 때 결과값을 사용할 수 있다. promise.all의 경우 하나의 promise만 에러가 발생하면 모두 작동이 중단된다는 단점이 있다. 이러한 단점을 해결하기 위해 promise.allSettled를 사용한다. new Promise의 함수는 동기로 작동한다. 따라서 위의 코드를 실행하면 "이 부분은 동기" "두번쨰" 순으로 반환 받는다.

2023년 3월 11일
·
0개의 댓글
·