Q1. 왜 비동기 예외처리에서 await을 하지 않으면 try/catch문에서 에러 처리가 불가능할까요? function sleep(time) { return new Promise((resolve, reject) => { setTimeout(() => { reject('더 잘래') }) }) } try { sleep(0) // 프로그램 다운 } catch (error) { console.log(error) } function sleep(time) { return new Promise((resolve, reject) => { setTimeout(() => { reject('더 잘래') }) }) } (async () => { try { await sleep(0) } catch (error) { consol..
미션 PR - https://github.com/woowacourse/react-payments/pull/27 1. React.memo React.memo는 고차 컴포넌트(Higher Order Component) 이다. 말그대로 memo의 인자로 컴포넌트를 넘겨 사용할 수 있다. memo를 사용하면 메모이징을 이용하여 기존과 props가 다른 경우에만 리렌더링이 일어나도록 할 수 있다. 보통 성능최적화를 위해 많이 사용된다. 페이먼츠 미션 중 카드정보를 입력 받는 페이지는 카드 번호, 만료일 등 다양한 인풋을 처리하기 위해 그만큼의 상태를 가져야했다. 때문에 하나의 인풋만 변경되어도 페이지의 모든 요소들이 리렌더링 됐다. 당시에는 이를 불필요한 리렌더링이라고 판단하여 memo로 컴포넌트를 래핑하여 리렌..
with 하루 내 질문에 대한 내용 정리 Q1. 스코프와 스코프 체인은 언제 결정되는 것 일까요? 상위 스코프(외부 렉시컬 환경에 대한 참조)는 함수 정의가 평가되는 시점에 함수가 정의된 위치에 의해 결정된다. Q2. 자바스크립트에서 지역 스코프를 가지는 키워드들은 무엇이 있을까요? (ex. function 등) 전역 스코프 function, class if, for, while, try / catch 📌 주의) 객체 리터럴은 지역 스코프를 가지지 않는다. (코드 블록이 아니기 때문) Q3. 내부 함수는 무조건 클로저라고 할 수 있을까요? 자바스크립트의 모든 함수는 상위 스코프를 기억하므로 이론적으로 모든 함수는 클로저이다. 하지만 일반적으로 모든 함수를 클로저라고 하지는 않는다. 클로저는 내부 함수가 ..
총 소요시간 90분 with 체프 내 질문에 대한 내용 정리 Q1. 콜백 함수 호출 시 this는 왜 window 혹은 global을 가리킬까요? 항상 그렇지는 않다. 콜백 함수 내부에서의 this는 해당 콜백 함수의 제어권을 넘겨받은 함수가 정의한 바에 따르며, 정의하지 않은 경우에는 전역객체를 참조한다. const obj = { handleClick() { console.log(this); }, }; obj.handleClick(); // obj setTimeout(() => { obj.handleClick(); }, 1000); // obj setTimeout(obj.handleClick, 1000); // window $('#btn').addEventListener('click', () => { ..
- Total
- Today
- Yesterday
- 리액트 동작원리
- 1463
- 프론트
- localhost https
- React key
- 우테코
- mkcert
- 다라쓰
- 우아한테크코스
- Python
- 프론트엔드
- Redux Thunk
- 리액트 키
- contentEditable focus
- Hash Router
- props를 변경하지 못하는 이유
- 리덕스 썽크
- 인사이트
- 해쉬 라우터
- Browser Router
- 브라우저 라우터
- 리액트 리스트 key
- 리액트 jsx
- 백준
- props를 변경하지 않는 이유
- 리액트 props
- 리액트 리스트 키
- 댓글 모듈
- 파이썬
- 리액트 리덕스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |