728x90 반응형 자바스크립트25 [JS] 예외처리 - 예외처리의 필요성과 try-catch-finally 문, 그리고 Error 객체의 생성 🎶 자바스크립트에서 사용되는 예외처리 방법에 대해 알아보자. 1. 예외 처리의 필요성에러가 발생하지 않는 코드를 작성하는 것은 불가능한데, 이러한 에러에 대해 대처하지 않고 방치하면 프로그램은 강제 종료되기 마련이다.console.log('test'); // test func(); // 오류 발생 -> 밑의 코드 실행 xconsole.log('end_test'); 이에 try - catch 문을 사용해 발생한 에러에 적절하게 대응해주면 프로그램이 강제로 종료되지 않고 계속해서 코드를 실행시킬 수 있다.console.log('test'); // testtry{ func();} catch(error){ console.log(error); // ReferenceError}console.log('e.. 2025. 3. 31. [JS] 제너레이터 - 제너레이터 함수, 제너레이터 객체, 일시 중지와 재개 🎶 자바스크립트에서 사용되는 제너레이터 라는 개념에 대해 알아보자. 1. 제너레이터ES6에서 도입된 제너레이터는 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 함수로, 다음과 같은 특징이 있다.제너레이터 함수는 함수 호출자에게 함수 실행의 제어권을 양도할 수 있다.제너레이터 함수는 함수 호출자와 함수의 상태를 주고받을 수 있다.제너레이터 함수를 호출하면 제너레이터 객체를 반환한다. 2. 제너레이터 함수 // 제너레이터 함수 선언문function* func(){ yield 1;}// 제너레이터 메서드const obj = { * method(){ yield 1; }};참고로, 제너레이터 함수는 화살표 함수로 정의할 수 없고, new 연산자와 함께 생.. 2025. 3. 27. [JS] 프로미스 - 콜백 패턴의 단점과 프로미스 생성 및 후속 처리 메서드 🎶 자바스크립트에서 비동기 처리를 위한 패턴으로 사용되는 프로미스에 대해 알아보자.자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용하지만, 이 전통적인 콜백 패턴은 콜백 헬로 인해 가독성이 나쁘고 여러 개의 비동기 처리를 한 번에 처리하는 데도 한계가 있다. 1. 비동기 처리를 위한 콜백 패턴의 단점비동기 함수를 호출하면 함수 내부의 비동기로 동작하는 코드가 완료되지 않았다 해도 기다리지 않고 즉시 종료된다. 즉, 비동기 함수 내부의 비동기로 동작하는 코드는 비동기 함수가 종료된 이후에 완료된다. 따라서 비동기 함수 내부의 비동기로 동작하는 코드에서 처리 결과를 외부로 반환하거나 상위 스코프의 변수에 할당하면 기대한 대로 동작하지 않는다.let g = 0;// setTimeout 함.. 2025. 3. 21. [JS] REST API - REST API 구성 요소와 설계 원칙 🎶 자바스크립트에서 사용되는 REST API 개념에 대해 알아보자.REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처로, REST API는 REST를 기반으로 서비스 API를 구현한 것을 의미한다.1. REST API 구성 요소REST API는 자원(resource), 행위(verb), 표현(representations)의 3가지 요소로 구성된다. REST는 자체 표현 구조로 구성돼 REST API만으로 HTTP 요청의 내용을 이해할 수 있다.자원 : URL / 행위 : HTTP 요청 메서드 / 표현 : 페이로드2. REST API 설계 원칙기본원칙 : URI는 리소스를 표현하는 데 집중, 행위에 대한 정의는 HTTP 요청 메서드를 통해 하는 것(1.. 2025. 3. 17. [JS] Ajax - Ajax 기초 개념, JSON, XMLHttpRequest 🎶 자바스크립트에서 쓰이는 Ajax의 개념에 대해 알아보도록 하자.1. AjaxAjax란 자바스크립트를 사용해 브라우저가 서버에게 비동기 방식으로 데이터를 요청하고, 서버가 응답한 데이터를 수신하여 웹페이지를 동적으로 갱신하는 프로그래밍 방식을 말한다.Ajax는 브라우저에서 제공하는 Web API인 XMLHttpRequest 객체를 기반으로 동작하는데, XMLHttpRequest는 HTTP 비동기 통신을 위한 메서드와 프로퍼티를 제공한다.Ajax는 서버로부터 웹페이지의 변경에 필요한 데이터만 비동기 방식으로 전송받아 웹페이지를 변경할 필요가 없는 부분은 다시 렌더링하지 않고, 변경할 필요가 있는 부분만 한정적으로 렌더링하는 방식이다. 이는 다음과 같은 장점을 갖는다변경할 부분을 갱신하는 데 필요한 데이.. 2025. 3. 9. [JS] 비동기 프로그래밍 - 동기 처리와 비동기 처리, 이벤트 루프와 테스크 큐 🎶 자바스크립트의 비동기 프로그래밍 개념에 대해 살펴보고 이벤트 루프, 테스크 큐에 대해 알아보자.1. 동기 처리와 비동기 처리일반적으로 함수를 호출하면 함수 코드가 평가되어 함수 실행 컨텍스트가 생성된다. 이때 생성된 함수 실행 컨텍스트는 실행 컨텍스트 스택(콜 스텍)에 푸시되고, 함수 코드가 실행된다. 함수 코드의 실행이 종료되면 함수 실행 컨텍스트는 실행 컨텍스트 스택에서 pop돼 제거된다.자바스크립트 엔진은 단 하나의 실행 컨텍스트 스택을 갖는다. 즉, 함수를 실행할 수 있는 창구가 단 하나이며, 동시에 2개 이상의 함수를 동시에 실행할 수 없다는 것이다.자바스크립트 엔진은 이처럼 한 번에 하나의 태스크만 실행할 수 있는 싱글 스레드 방식으로 동작한다. 때문에 처리에 시간이 걸리는 태스크를 실행.. 2025. 3. 3. 이전 1 2 3 4 5 다음 728x90 반응형