각 단어의 의미는 다음과 같다.
즉, npm이란, JS를 기반으로 직접 개발 / 다른 사람이 만들어 놓은 라이브러리(모듈)을 설치/활용하고 싶을 때 사용하는 기술이다.
터미널에 다음 명령어를 사용해 필요한 패키지 파일을 자동으로 설치할 수 있다. 명령어를 실행하면 npm_modules라는 폴더가 생긴다. (github에 올릴 때 이 폴더까지 같이 올리진 않는다.)
npm install
package.json 파일 생성 명령어는 다음과 같다.
npm init
Called at the back.
어떤 함수의 인자값(argument)으로 보내지는 함수로써, 무언가(event)가 발생했을 때(어떤 함수의 호출) 실행(호출)되는 함수를 의미한다.
function a() {
setTimeout(() => console.log('a() called'), 1000);
}
a();
console.log('a() is done');
setTimeout이 비동기 함수이기 때문에 done > called 순서로 호출된다.
(1초 딜레이를 주었기 때문에 당연히 called가 나중에 실행되는 게 아니라, 근본적으로는 setTimeout이 비동기 함수라서 그렇다! 딜레이를 0으로 줘도 결과는 마찬가지다.)
javascript는 싱글 스레드이다. 그런데 어떻게 비동기 함수를 처리할 수 있을까?
JS visulalizer 9000 사이트에서 다음과 같은 코드를 실행했다.
(주의: 한국어 주석이 들어가면 사이트가 동작하지 않는다.)
function a() {
setTimeout(() => console.log('a() called'), 1000);
}
a();
console.log('a() is done');
추가로, task queue는, 이름이 queue이지만 실질적으로 set처럼 동작한다. 이 문서를 참고하자.