드림코딩 자바스크립트 11. 비동기 처리의 시작 콜백 이해하기, 콜백 지옥 체험 😱 JavaScript Callback | 프론트엔드 개발자 입문편 (JavaScript ES6)
를 보고 영상의 내용을 정리하고자 한다.
동기(Synchronous): 정해진 순서에 맞게 코드가 실행됨

비동기(Asynchronous): 언제 코드가 실행될 지 예측할 수 없다.
setTimeout은 브라우저에서 지원되는 API로 지정한 시간이 지나면 콜백 함수를 호출한다.function() { console.log("2");}, 1000) 함수는 바로 실행되는 것이 아니라 setTimeout이라는 함수 안에 하나의 파라미터(parameter, 인자)로 우리가 만든 함수를 전달해준다. 콜백은 항상 비동기에서만 쓰이는 걸까? - NO!

function printImmediately() 함수의 선언을 최상위로 올린다.setTimeout의 정해진 시간이 지난 뒤 메시지를 출력한다.
function printImmediately()함수와 function printWithDelay() 함수를 최상위로 올린다.printWithDelay 함수)를 비동기 처리 후 정해진 시간이 지난 뒤 메시지를 출력한다. 
위 코드를 토대로 UserStorage 클래스를 활용하여

작성한 코드를 토대로 id와 password를 입력하면 아래와 같이 alert이 뜬다. 
반면에 아무 문자를 입력한 경우엔 console에 error가 출력된다. 
이 다음 영상에서 비동기 코드를 깔끔하게 작성하는 방법을 알아보기로 한다.