Web/javascript

통신을 할 때 promise로 접근해, try-catch로 오류를 처리하곤 한다. 동기식 언어인 javascript가 어떻게 비동기적인 동작을 수행하고, 에러를 처리하는 원리가 무엇인지 자세히 정리를 해보았다. 또한 promise가 탄생한 배경과, 비동기처리에 자주 쓰이는 콜백함수까지 이해해보는 시간을 가져보도록 하자. 아래의 코드 출처는 모던 자바스크립트이다. 1-1. try-catch로 에러를 잡자 (10.1) Try-catch 구문을 이용해서 try를 통해 구문을 실행하고, catch를 통해 에러를 잡았을 것이다. 아래와 같이 JSON형태에서 에러를 잡는 것이 예시가 될 수 있다. let json = "{ wrong json }"; try { let user = JSON.parse(json); //..
JS에서 함수를 잘 활용하는 법 재귀&연결리스트 / 나머지 프로퍼티 & 스프레드문법 & arguments / 전역 객체 / 객체로서 함수 바라보기 & 함수property - JS에서 재귀 합리적으로 쓰기 1) 재귀란 재귀에 대해 간단한 개념을 알아보고, js에서 어떤 식으로 재귀를 사용하면 효율적인지 알아보자. 재귀 함수가 실행되면, 실행 절차에 대한 정보는 실행 컨텍스트에 저장된다. 따라서 재귀 함수의 중첩 호출이 끝난 뒤에는 함수의 실행 컨텍스트에서 꺼내와 우리가 원하는 실행(계산 등)을 이어나가게 된다. 또한 재귀 깊이는 스택에 들어가는 실행 컨텍스트 수의 최댓값이라고 할 수 있다. 한편, 반복문을 사용하면 대개 함수 호출의 비용(메모리 사용)이 절약되지만 재귀를 사용하면 코드가 짧아지고 코드 이..
목차 배열 배열 메소드 맵 셋 iterable 객체 구조분해할당 배열 - 배열 끝에 무언가를 해주는 메서드 * 기존 인덱스를 유지하기 때문에 빠르다 Pop : 끝 요소를 제거하고 제거한 요소를 반환 (스택에 사용) Push : 맨 끝에 요소 추가 - 배열 앞에 무언가를 해주는 메서드 * 전체 인덱스의 변경이 있기 때문에 느리다 Shift : 제일 앞 요소 제거한 뒤 반환, 남아있는 요소를 하나씩 민다 (큐에 사용) Unshift : 배열 앞에 요소를 추가 let fruits = ["사과"]; fruits.push("오렌지", "배"); fruits.unshift("파인애플", "레몬"); // ["파인애플", "레몬", "사과", "오렌지", "배"] - 배열은 순서가 있는 자료의 컬렉션임. 객체처럼 다..
1. 객체와 프로퍼티란? - 하나의 데이터만 담을 수 있는 원시형 타입이 아닌 다양한 유형의 데이터를 담을 수 있다. 1) 객체를 만드는 법 - 객체 생성자 let user = new Object(); // '객체 생성자' 문법 - 객체 리터럴 let user = {}; // '객체 리터럴' 문법 2) 프로퍼티 - 키 값으로 이루어져 있고, 객체이름.객체프로퍼티 로 객체의 값을 얻을 수 있음 - delete로 프로퍼티 삭제 가능 let user = { // 객체 name: "John", // 키: "name", 값: "John" age: 30 // 키: "age", 값: 30 }; // 프로퍼티 값 얻기 alert( user.name ); // John // 프로퍼티 값 삭제 delete user.age..
[2.16] 함수선언문 VS 함수표현식 / 콜백함수 1) 함수 표현식 function ET() { alert( "E-T" ); } - 이때 아래와 같이 ET함수를 ET()가 아닌 ET를 통해, 변수에 함수를 전달할 수 있다. function ET() { alert( "E-T" ); } let func=ET func(); //E-T ET(); //E-T 2) 함수 선언문 let ET = function() { alert( "E-T" ); }; - 함수에 변수를 할당한 것. - 이때는 변수를 선언한 것과 마찬 가지임으로 블록 다음에 세미콜론을 붙여줘야함. 3) 함수표현식 VS 함수선언문 함수 표현식 함수 선언문 표현식 안에 존재. 주로 할당 연산자 (=)와 함께 독자적인 구문 형태 실행 흐름이 해당 함수 부..
[2.10] IF문 / 삼항연산자 1. 기본구조 - js에서의 if문도 다른 언어와 비슷하게 조건 + 조건 만족 시 수행할 블록 의 구조를 이룬다. - 조건을 판단하기 위한 변수를 prompt로 넘겨줄 수 있다. - 또한 if + else if + else 조합을 사용할 수 있다. let year=prompt('이티의 나이는?',''); if (year35){ alert('그 정도로 많진 않습니다.'); } else{ alert('네 24짤입니다.'); } 2. 삼항 연산자 - 위와 같은 구문은 조건부 연산자로 간결하게 표현 가능하다. - 삼항 연산자라고 불리는 이유 : 피연산자를 3개 가지기 때문이다. (조건) ? 참일 때 값 : 거짓일 때 값 age=24 let question = age>25? tr..
이티권
'Web/javascript' 카테고리의 글 목록