
자바스크립트의 기본 개념과 동작 원리를 정확히 이해하는 것이 중요!
개인적인 공부를 하면서 중요한 내용을 정리한 형식이기 때문에 오류가 있을 수 있습니다.
피드백 주시면 정말 감사하겠습니다.
오늘 배운 내용
- 타이머
- 비동기 프로그래밍
- Ajax
- Rest API
- 프로미스
- 제너레이터와 async/await
- 에러처리
- 모듈
알고 있던 내용
- setTimeout 함수는 두 번째 인수로 전달받은 시간으로 단 한번 동작하는 타이머를 생성한다
- 현재 실행 중인 태스크가 종료되지 않은 상태라 해도 다음 태스크를 곧바로 실행하는 방식을 비동기 처리라고 한다
- Ajax란 자바스크립트를 사용하여 브라우저가 서버에게 비동기 방식으로 데이터를 요청하고, 서버가 응답한 데이터를 수신하여 웹페이지를 동적으로 갱신하는 프로그래밍 방식을 말한다
try { /** * 정상이라면 이 코드는 아무런 문제없이 블록의 시작부터 끝까지 실행된다. * 하지만 경우에 따라 예외가 발생할 수 있다. * 예외는 throw 문에 의해 직접적으로 발생할 수도 있고, * 또는 예외를 발생시키는 메서드의 호출에 의해 발생할 수도 있다. */ } catch (e) { /** * 이 블록 내부의 문장들은 오직 try 블록에서 예외가 발생할 경우에만 실행된다. * 이 문장들에선 지역 변수 e를 사용하여 Error 객체 또는 앞에서 던진 다른 값을 참조할 수 있다. * 이 블록에서는 어떻게든 그 예외를 처리할 수도 있고, * 그냥 아무것도 하지 않고 예외를 무시할 수도 있고, * 아니면 throw 를 사용해서 예외를 다시 발생시킬 수도 있다. */ } finally { /** * 이 블록에는 try 블록에서 일어난 일에 관계없이 무조건 실행될 코드가 위치한다. * 이 코드는 try 블록이 어떻게든 종료되면 실행된다. * try 블록이 종료되는 상황은 다음과 같다. * 1) 정상적으로 블록의 끝에 도달했을 때 * 2) break, continue 또는 return 문에 의해서 * 3) 예외가 발생했지만 catch 절에서 처리했을 때 * 4) 예외가 발생했고 그것이 잡히지 않은 채 퍼져나갈 때 */ }
몰랐던 내용
- 디바운스는 짧은 시간 간격으로 발생하는 이벤트를 그룹화해서 마지막에 한 번만 이벤트 핸들러가 호출되도록 한다
- REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처고, REST API를 기반으로 서비스 API를 구현한 것을 의미한다
- 프로미스는 비동기 처리 상태와 처리 결과를 관리하는 객체다
- finally 메서드의 콜백 함수는 프로미스의 성공 또는 실패와 상관없이 무조건 한 번 호출된다
- 제너레이터는 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 함수다
- async 함수 내에서 catch 문을 사용해서 에러 처리를 하지 않으면 async 함수는 발생한 에러를 reject하는 프로미스를 반환한다