오늘 배운 것
1. 자바스크립트의 콜백함수
-콜백함수란 다른 코드의 인자로 넘겨주는 함수
-콜백함수는 메서드가 아니라 함수이기 때문에 this를 바인딩해서 써야한다
-콜백함수에서 this를 전달하기 위해 bind 메서드를 활용한다.
-콜백 지옥 -> 콜백함수 안에 콜백함수... 무한 콜백 지옥으로 가독성도 떨어지고 수정도 어려운 상황
-비동기 프로그래밍
Promise
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise
Promise - JavaScript | MDN
Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다.
developer.mozilla.org
Generator
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Generator
Generator - JavaScript | MDN
Generator 객체는 generator function 으로부터 반환되며, 반복 가능한 프로토콜과 반복자 프로토콜을 모두 준수합니다.
developer.mozilla.org
Async/Await
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/async_function
async function - JavaScript | MDN
async function 선언은 AsyncFunction객체를 반환하는 하나의 비동기 함수를 정의합니다. 비동기 함수는 이벤트 루프를 통해 비동기적으로 작동하는 함수로, 암시적으로 Promise를 사용하여 결과를 반환
developer.mozilla.org
Promise랑 Generator는 아직 이해가 어려운데 async/await문은 c#에서도 쓰는 문법이라 익숙하다. 앞의 두 문법은 es6에서, async문법은 es7에서 추가됐다고 하니, 쓸때는 async문으로 쓰되, 레거시 코드를 읽기 위해 promise, generator문을 알아둬야 할 것 같다.