Node.js 는 Chrome V8 Javascript 엔진으로 빌드된 javascript 런타임이다.
이벤트 기반, Non Blocking I/O 모델을 사용해 가볍고 효율적
서버 X -> Runtime O
✔런타임이란
컴퓨터 프로그램이 실행되고 있는 동안의 동작
런타임 환경은 컴퓨터가 실행되고 있는 동안 프로세스나 프로그램을 위한 SW 서비스를 제공하는 가상 머신의 상태 -> 노드에 적합한 설명
노드도 내부에 가상머신이 있기 때문에 어떤 플랫폼에서도 사용 가능
READ, Evaluate, Print, Loop
읽고 값을 평가하고 값을 출력한다. 이 과정을 반복
REPL을 통해서 한줄 씩 명령줄을 선언할 수 없다. 그렇기 때문에 소스 코드 형식으로 파일에 원하는 동작을 실행한다.
이런식의 코드를 run.js 라고 만들어 원하는 수행 함수를 구축한다.
구축된 함수는 node run.js로 실행가능
var a = 1;
var b = 2;
function c(){
return a+b;
}
console.log(c());
if(true){
var x = 3;
}
console.log(x);
if(true){
const y =3;
}
console.log(y)
var와 const,let 의 차이점은 블럭 외부 접근 가능 차이이다.
var는 외부에서 접근이 가능하지만 나머지 const,let은 주어진 스코프를 벗어날 수 없다
const 와 let의 차이는 상수와 변수의 차이이다.
const는 한번 설정된 상수이기 때문에 값 변경이 불가능
let은 변수의 개념이기 때문에 한번 설정된 값을 추후에 변경 가능
const로 객체를 선언하면 const 자체를 변경할 수 없음
하지만 객체의 내부 값을 변경가능하다.
✔ const는 선언과 동시에 초기화 필요