2024/08 5

모던 자바스크립트 - Babel과 Webpack을 이용한 ES6+/ES.NEXT 개발 환경 구축

크롬, 사파리, 파이어폭스, 엣지 같은 에버그린 브라우저의 ES6 지원율은 약 98%로 거의 대부분 ES6 사양을 지원합니다.하지만 IE 11의 ES6 지원율은 약 11%이고. ES6 이상의 버전(ES6+)과 제안 단계에 있는 ES 제안 사양(ES.NEXT)은 브라우저에 따라 지원율이 다른것을 알 수 있습니다. 따라서 ES6+와 ES.NEXT의 최신 ESCMAScript 사양을 사용하여 프로젝트를 진행하려면 최신 사양으로 작성된 코드를 경우에 따라 IE를 포함한 구형 브라우저에서 문제 없이 동작시키기 위한 개발 환경을 구축하는 것이 필요합니다. 또한 대부분의 프로젝트가 모듈을 사용하므로 ES6 모듈(ESM)외의 별도의 모듈 로더도 필요합니다.IE를 포함한 구형 브라우저는 ESM을 지원XESM을 사용하더라..

모던 자바스크립트 - 에러처리

47.1 에러 처리의 필요성에러는 언제나 발생할 수 있다. 발생한 에러에 대해 대처하지 않고 방치하면 프로그램은 강제 종료된다.이를 막기 위해 try...catch 문을 사용해 발생한 에러에 적절하게 대응하면 프로그램이 강제 종료되지 않고 계속해서 코드를 실행시킬 수 있다.직접적인 에러를 발생하지는 않는 예외적인 상황이 발생할 수도 있다.예외적인 상황에 적절하게 대응하지 않으면 에러로 이어질 가능성이 크다.작성한 코드에서는 언제나 예외적인 상황이 발생할 수 있다는 것을 전제하고 이에 대응하는 코드를 작성하는 것이 중요하다.47.2 try...catch...finally 문기본적으로 에러 처리를 구현하는 방법은 크게 두 가지가 있다.반환하는 값을 if 문이나 단축 평가 또는 옵셔널 체이닝 연산자를 통해 확..

카테고리 없음 2024.08.10

모던 자바스크립트 - 제너레이터와 async/await

46장 제너레이터와 async/await46.1 제너레이터란?ES6에서 도입된 제너레이터(generator) 함수는 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 함수입니다.지금부터 제네레이터 함수와 일반 함수의 차이를 알아보도록 하겠습니다.제너레이터 함수는 함수 호출자에게 함수 실행의 제어권을 양도할 수 있습니다.일반 함수 : 호출하면 제어권이 함수에게 넘어가고 함수 코드를 일괄 실행합니다. 즉, 호출자는 함수를 호출한 이후 함수 실행을 제어할 수 없습니다.제너레이터 : 제너레이터 함수는 함수 실행을 함수 호출자가 제어할 수 있습니다. 이는 함수 호출자가 함수 실행을 일시 중지시키거나 재개시킬 수 있습니다. 함수의 제어권을 함수가 독점하는 것이 아니라 함수 호출자에게 양도(y..

모던 자바스크립트 - REST API

44장. REST APIREST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처고, REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다.REST API의 구성REST API는 자원(Resource), 행위(Verb), 표현(Representations)의 3가지 요소로 구성된다. REST는 자체 표현 구조로 구성되어 REST API만으로 HTTP 요청의 내용을 이해할 수 있다. 구성 요소                                                                          내용                                                                표현  방법자원..

모던 자바스크립트 - Ajax

Ajax란?Ajax(Asynchronous JavaScript and XML)란 자바스크립트를 사용하여 브라우저가 서버에게 비동기 방식으로 데이터를 요청하고, 서버가 응답한 데이터를 수신하여 웹페이지를 동적으로 갱신하는 프로그래밍 방식을 말한다. Ajax는 브라우저에서 제공하는 Web API인 XMLHttpRequest 객체를 기반으로 동작한다. XMLHttpRequest는 HTTP 비동기 통신을 위한 메서드와 프로퍼티를 제공한다.이전의 웹페이지는 html 태그로 시작해서 html 태그로 끝나는 완전한 HTML을 서버로부터 전송받아 웹페이지 전체를 처음부터 다시 렌더링하는 방식으로 동작했다. 따라서 화면이 전환되면 서버로부터 새로운 HTML을 전송받아 웹페이지 전체를 처음부터 다시 렌더링했다. 이러한 전..