TypeScript&JavaScript(21)
-
자바스크립트 객체와 비구조화 할당
자바스크립트의 객체를 표현할 때는 JSON을 많이 활용한다. JSON은 이름 그대로 JavaScript Object Notation이다. 자바스크립트에서 객체를 만들 때 사용하는 표현식으로, 이해하기 편하고 용량이 작다. JSON은 데이터 포맷일 뿐이며 단순히 데이터를 표시하는 표현방법이다. const hero = { name: "superman", gender: "man", age: 20 } // ${hero.name} : "superman" 이런식으로 사용한다 name-value 형식의 쌍으로 이뤄지며, name-value에서 value는 Array로도 사용할 수 있다. 이 때에는 데이터를 대괄호 안에 넣고 쉼표로 구분짓는다. 이러한 객체를 표현하는 JSON 형태는 비구조화 할당이 가능한데, ES6에..
2020.01.26 -
비동기적 처리 다루기 - Promise, async, await, Promise all, race
비동기적 처리는 동기와 다르게 작업의 순서를 정확히 파악하기 어려움. 또한 비동기적 처리의 반환되는 값에 관하여 이어지는 이벤트와 함수를 연결한다고 하면 callback함수를 많이 활용하게 되어 가독성이 떨어지고 에러 컨트롤이나 조건에 따른 분기를 설정하기 어려운 부분이 있음. Promise는 resolve와 reject를 통해 분기를 나누고, Promise객체를 리턴함으로써 비동기처리를 콜백에 비해 간결하게 처리할 수 있음. 아래는 setTimeout을 이용한 비동기 처리에 대한 promise 예시. increaseAndPrint: (parameter) => { return new Promise(async (resolve, reject) => { setTimeout(() => { const value ..
2020.01.11 -
동기적 처리 // 비동기적 처리
동기적 처리 : 시간축을 기준으로 작업이 순차적으로 처리됨 (배치 프로세스를 생각) 가령, 다섯개의 작업이 있고 순서대로 일어난다고 가정하면 첫번째 작업이 끝난 결과를 받기 전에는 두번째 작업이 일어나지 않음. 비동기적처리 : 시간축과 상관없이 모든 프로세스(웹에서는 리퀘스트 요청 내지는 함수호출등)가 순차적으로 시작되지만 리턴을 기다리지 않음. 따라서 각 프로세스는 실행시간과 관련없이 동시에 가깝게 요청이 일어나고 종료시간은 각 프로세스의 소요시간에 따라 다르게 리턴을 받음(엄밀히 말해서 동시에 일어나는 것은 아님), 일종의 시분할 시스템 + 스케쥴링 알고리즘과 비슷하게 여겨짐
2020.01.11