자바스크립트 (5) 썸네일형 리스트형 [javascript] 예외처리의 개념, 디자인 패턴, 비동기 함수의 예외처리 자바스크립트의 에러와 예외 처리에 대해 알아본다. 에러와 예외의 용어 구분두 용어는 통념상 동일하나, 프로그래밍적으로 다르다.에러 - 소스코드의 동작 과정 상에서 제어할 수 없는 에러이다. 일반적으로 하드웨어나 저수준 시스템적인 결함에 해당한다.예외 - 소스코드 로직에서 발생하는 문제를 처리하지 못할 때 발생한다. 따라서, 개발자가 처리하는 부분은 여기에 해당한다. 예외의 동작방식mdn의 참고 문서를 보자.https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/throw throw가 던지는 건 사용자 정의 예외지만 동작은 일반적인 예외와 동일하다.예외가 발생하면,현재 함수의 실행이 중지된다. 즉, 해당 함수의 뒷 내용이 실행되지.. try catch문에 finally가 필요한 이유 finally 블록은 try catch 문의 실행 이후 무조건 실행되므로 리소스 해제 등의 작업에 적합하다.그런데, 굳이 finally를 쓰지 않고 아래처럼 try catch 뒤에 실행될 코드를 적으면 되는거 아닐까.function init() { try { throw new Error("에러1"); } catch (err) { console.error(err); } console.log("후속 작업");}init(); 아니다. finally만의 고유 기능 때문에 사용해야 하는 경우가 있다. 1. catch문에서 에러가 날 경우, 일반 코드는 실행되지 않지만, finally 문은 실행된다.finally를 사용하는 경우function useFinally() { try { throw.. [코딩 테스트, javascript] 배열의 균질적 분할 로직 로직의 목표배열 A를 넘겨주고 maxLength x를 넘겨주면, 해당 배열을 최대 길이 x를 넘지 않는 배열들의 배열(2차원 배열)로 반환.각 배열은 다른 배열과 길이가 2이상 차이나면 안됨.정리하자면, 최대 길이에 맞게 배열을 분할하되, 균질하게 요소를 나눠야 한다. function evenlySplitArray(arr, maxLength) { const result = []; const splitArrayLength = Math.ceil(arr.length / maxLength); // 필요한 배열의 갯수 const baseSize = Math.floor(arr.length / splitArrayLength); // 분할된 배열의 기본 크기(최소 크기) const extraLength = ar.. [React] 리엑트 살펴보기8: useRef를 사용하는 이유(컴포넌트 사이클에 독립적인 객체 저장, 비제어 컴포넌트) useRefuseRef는 자바스크립트의 DOM API중 셀렉터와 유사하다. 셀렉터는 getElementId나 querySelector 처럼 엘리먼트의 속성을 근거로 접근한다. 하지만, 이런 방식에 문제가 있어 대안으로서 useRef를 사용한다. React에서 자바스크립트의 DOM API의 사용을 지양하는 이유리엑트에서도 때때로 이렇게 돔에 직접 접근하고 무언가를 수정해야할 때가 있다. 스크롤같은 요소의 속성에 접근하던지 focus 등의 api를 사용할 때 말이다. 하지만, React 디자인의 이상적인 형태에 방해가 될 수 있다. 이유1: 가상돔 업데이트 메커니즘과 우회 문제리엑트는 가상돔을 사용한다. 이 방식은 dom에 사용되는 상태값의 변경을 메모리 상에서 가상돔이라 불리는 객체 내에서만 작업한 후, .. 자바스크립트 이론 정복하기 (1) variable 글을 쓴 이유 변수는 자바스크립트를 처음 접할 때 가장 먼저 배우는 개념이지만, 이론적으로 깊이 이해하진 않았다. 변수의 특성을 이해하지 못할 경우 생길 수 있는 치명적인 버그를 피하기 위해 개념들을 정리한다. 글의 목표 변수의 선언, 초기화, 재할당에 대해 이해한다. var을 사용하지 않는 이유에 대해 이해한다. let과 const의 차이에 대해 이해한다. 1. 자바스크립트는 컴퓨터 메모리에 어떻게 변수를 할당하는가 컴퓨터는 기본적으로 메모리와 CPU로 구성된다. 어떤 프로그램을 실행하면, 메모리 공간 내에는 변수가 할당되고 연산작업이 필요할 때 CPU가 작업한다. 예컨대, var a = 2; var b = 5; var c = a * b //$ c= 10 위 코드에서 변수 a,b를 선언하고 각각 2와 .. 이전 1 다음