Jun 개발노트

코드스피치 자바스크립트 단어정리(초기)

April 01, 2020

코드스피치 자바스크립트 단어정리(초기)

블록킹 동기적인 명령을 실행시키면 명령이 종료되기전까지 cpu는 점유가 되기때문에 다른 명령을 실행시키지 못하는 상태를 블록킹

클로져 함수가 생성될때 밖에 있는 변수를 캡쳐링하여 사용한다. 이러한 변수를 자유변수 = 프리벨류 자유변수가 잡혀서 사용되는 공간을 클로져 원래 함수는 인자와 지역변수만 사용할 수 있는데, 그게 닫혀서 사용되는 것

조건문 IF는 플로우를 나누어주는것이며, IF문 안에 있는것을 따로 빼내어 함수나 클래스로 나누어주는것이 좋다

자바스크립트는 싱글쓰레드? Main UI Thread I : 자바스크립트를 싱글쓰레드로 지칭하는 것 Background Thred N : API, 콜백등 WEB Worker Thread : HTML5 지원 => Main UI Thread가 프레임별로 실행하기 때문에 싱글쓰레드라고 하고 Backgroud / Web worker 쓰레드가 실행한 결과값을 다음 / 대기 프레임에 넘겨서 Main쓰레드가 그걸 가져서 화면에 그려준다.

SYNC : 서브루틴이 즉시 값을 반환함 => return을 통해서 값을 바로 반환함

  • BLOCK : 즉시 플로우제어권을 반환하지 않음(nomal / legacy API) => 우리가 짜는 코드의 대부분이다.
  • NON BLOCK : 즉시 플로우제어권을 반환함 (old API / IOCP, Future, img.complete)

ASYNC : 서브루틴이 콜백을 통해 값을 반환함 => 콜백함수가 매개변수로 인자를 받아서 콜백 함수의 결과값을 반환함

  • BLOCK : Trap
  • NON BLOCK : 즉시 플로우제어권을 반환함(modern API)

Promise(ES 5) 비동기 작업같은 경우 제어권이 결과가 오기전까지 우리에게 있는것이 아니라서 수동적이다. 그래서 Promise를 통해서 결과를 받아오고 필요로 할때 then을 통해서 결과를 사용할 수 있다.

Async(ES 7) Promise기반의 결과값을 바로 받을수 있다. 하지만 제어권이 비동기적인 작업만 처리할수있어서 Generator Async Await이 나옴


Written by Junho You 배운것을 기록하자