일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 리트코드
- 백준
- 자바
- Javascript
- Data Structure
- Python
- BFS
- 그레이들
- 다이나믹 프로그래밍
- TypeScript
- network
- vscode
- git
- VIM
- Algorithm
- Redux
- DP
- react
- 안드로이드
- java
- frontend
- 프로그래머스
- LeetCode
- db
- 동적 계획법
- Database
- Graph
- 알고리즘
- CS
- DFS
- Today
- Total
목록Programming/JavaScript (49)
늘 겸손하게
async, await? async, await은 자바스크립트 비동기 처리를 위한 키워드. 기존의 비동기 처리 방식인 콜백 함수, Promise의 단점인 좋지 않은 가독성을 보완한 가장 최근에 나온 자바스크립트 비동기 처리방식 async, await으로 개발자는 비동기 처리를 가독성 좋은 코드로 해결할 수 있습니다. async async는 함수 앞에 위치합니다 async function f() { return 1; } 함수 앞에 async를 붙이면 해당 함수는 promise를 반환합니다. promise가 아닌 값을 반환하더라도 resolved promise 형태로 promise가 반환되도록 합니다. await await 문법은 async 함수 안에서 동작하며 await은 promise가 처리될 때까지 기..

Promise 자바스크립트에서 비동기를 간편하게 처리해주는 객체입니다. 비동기는 '특정 코드의 실행이 완료되기를 기다리지 않고 다음 코드를 먼저 수행하는 것을 말합니다'. 프로미스는 다음 중 하나의 상태를 가집니다. 대기 ( pending ) : 이행하지도, 거부하지도 않은 초기 상태 이행 ( fulfilled ) : 연산이 성공적으로 완료 거부 ( rejected ) : 연산 실패 혹은 오류 발생 Promise가 필요한 이유 자바스크립트에서 비동기 처리는 주로 콜백함수로 이루어집니다. 하지만 콜백함수가 많이 중첩될 경우, 가독성이 떨어지고 에러처리도 힘든 콜백지옥에 빠질 수 있습니다. 이러한 콜백함수의 단점을 보완하기 위해 'Promise'를 사용합니다. Promise 객체 생성자 let promise..
자바스크립트의 Array.sort() 메소드의 매개변수로 compareFunction을 제공하여 원하는 방식으로 배열을 정렬시킬 수 있다. 이 compareFunction은 양수, 음수, 0을 반환해야하는데, 반환하는값에 따라 정렬 순서가 달라진다. 정리하자면, compareFunction 반환값이 양수인 경우 : 첫번째 인자 a, 두번째 인자 b의 위치가 바뀌어 정렬된다. ( b a 순으로 정렬된다 ) compareFunction 반환값이 음수인 경우 : 첫번째 인자 a, 두번째 인자 b의 위치가 바뀌지 않는다. ( a b 순으로 정렬된다 ) compareFunction 반환값이 0인 경우 : a b 위치가 바뀌지 않는다 예시 오름차순 정렬 const points = [40, 100, 1, 5, 25,..
JavaScript 내장 객체 Map에는 keys라는 메소드가 있는데 이 메소드는 iterator를 반환하여 사용이 조금 까다로운 단점이 있습니다. Map 객체의 key값만 담겨있는 배열을 반환하는 함수를 직접 만들 수 있습니다. const getKeyArray = function(map) { let result = []; for (let key of map) { result.push(key[0]); } return result; } 4번째 줄에서 key[0] 대신 key를 입력하면 배열을 원소로 갖는 배열이 반환되니 key값으로만 이루어진 배열을 얻고싶으면 key[0]을 입력해야합니다. 출처 : https://stackoverflow.com/questions/35341696/how-to-convert-..