본문 바로가기

딥 다이브62

[모던 JS Deep Dive] 47장 - 에러 처리 47.1 에러 처리의 필요성 - 에러는 언제나 발생 가능 - try ... catch문 사용해서 에러에 적절하게 대응 (에러 처리 코드 미리 등록) - if문, 단축 평가, 옵셔널 체이닝 연산자 활용 - 우리가 작성한 코드에서는 언제나 에러나 예외적인 상황이 발생할 수 있다는 것을 전제하고 이에 대응하는 코드를 작성하는 것이 중요 47.2 try ... catch ... finally 문 - 에러 처리 코드를 미리 등록해 두고 에러 발생 시 에러 처리 코드로 점프하도록 하는 방법 (Error Handling) - try; 실행할 코드 (에러가 발생할 가능성이 있는 코드) catch; try 코드 블록에서 에러 발생 시 이 코드 블록의 코드가 실행됨 (에러 객체 전달됨) finally; 에러 발생 상관없이.. 2022. 1. 27.
[모던 JS Deep Dive] 46장 - 제너레이터와 async/await 46.1 제너레이터란? - ES6 제너레이터: 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 함수 - 함수 호출자에게 함수 실행의 제어권 양도 가능 - 함수의 제어권을 함수가 독점하는 것이 아니라 함수 호출자에게 yield할 수 있음 - 함수 호출자와 함수의 상태를 주고받을 수 있음 - 함수 호출자에게 상태를 전달할 수 있고 함수 호출자로부터 상태를 전달받을 수 있음 - 제너레이터 객체 반환 - 이터러블이면서 동시에 이터레이터인 제너레이터 객체 반환 46.2 제너레이터 함수의 정의 - function* 키워드로 선언 - 하나 이상의 yield 표현식 포함 - 화살표 함수로 정의 불가, 생성자 함수로 호출 불가 46.3 제너레이터 객체 - 제너레이터 함수 호출 시 제너레이터 객체.. 2022. 1. 27.
[모던 JS Deep Dive] 45장 - 프로미스 45.1 비동기 처리를 위한 콜백 패턴의 단점 - 콜백 헬 - 비동기 함수: 함수 내부에 비동기로 동작하는 코드를 포함한 함수 ex. setTimeout 함수 - 비동기 함수 내의 이벤트 핸들러는 이벤트가 발생하면 일단 태스크 큐에 저장되어 대기하다가, 콜 스택이 비면 이벤트 루프에 의해 콜 스택으로 푸시되어 실행됨 - 비동기 함수는 비동기 처리 결과를 외부에 반환 불가, 상위 스코프의 변수에 할당 불가 - 비동기 함수의 처리 결과(서버 응답 등)에 대한 후속 처리는 비동기 함수 내부에서 수행해야 함 - 일반적으로 비동기 함수 내부에 비동기 처리 결과에 대한 후속 처리 위한 콜백 함수 전달함 - 콜백 헬: 콜백 함수를 통해 비동기 처리 결과에 대한 후속 처리를 수행하는 비동기 함수가 비동기 처리 결과를 .. 2022. 1. 27.
[모던 JS Deep Dive] 44장 - REST API 44.0 REST API - REST(REpresentational State Transfer) - HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍쳐 - REST API: REST 기반으로 서비스 API 구현, self-de-scriptiveness (자체 표현 구조) -> HTTP 요청 내용 이해 가능 44.1 REST API의 구성 - 자원(resource): 자원, URI(엔드포인트) - 행위(verb): 자원에 대한 행위, HTTP 요청 메서드 - 표현(representations): 자원에 대한 행위의 구체적 내용, 페이로드 44.2 REST API 설계 원칙 - URI는 리소스를 표현해야 한다. - 리소스 식별 가능한 이름은 명사 사용 - 리소스에 대한 행위는 H.. 2022. 1. 26.
반응형