실행 컨테스트, 이벤트루트, 프로토타입 3가지가 자바스크립트에서 제일 중요하다.
자바스크립트는 스크립트 언어라서 즉석에서 코드를 실행할 수 있다
CMD에 ‘node’ 치면 노드로 진입한다.
control+c or control+d or .exit 치면 나온다.
module.exports = { 변수1, 변수2, };
const 변수명 = require(’./파일명’);
./
: 현재 내가 있는 폴더../
: 부모 폴더../../
: 조부모 폴더exports
exports.odd = odd;
exports.even = even;
or
module.exports = {
odd,
even
}
this
스코프? 변수의 유효범위
전역스코프? 전역에 선언되어 있어서 어느 곳에서든 해당 변수에 접근 가능하다.
require
다른 파일을 실행만 하고 싶다. 다른 파일의 변수를 가지고 오기는 싫다. 할때 사용한다
require는 코드의 순서와 상관이 없다.
require은 모듈이다.
extensions : 확장자
require.main : 어떤 파일을 실행한건지 알아낼 수 있다.
require.cache : 한 번 require로 불러온 파일을 require.chche에 저장해둔다. 그래서 두번째 불러올때부터는 메모리에 저장해두었기 때문에 빠르다.
순환참조
서로 호출하는 상황이 생기면 무한반복되기 때문에 컴퓨터가 멈춘다.(순환참조)
이 상황을 방지하기 위해 node가 빈 객체로 바꾼다.