“Connecting the dots”

js 기본상식 본문

js 기본상식

js 기본상식

kims1997 2022. 11. 2. 09:06
반응형

우선, var는 변수 선언 방식에 있어서 큰 단점을 가지고 있다.

    var name = 'bathingape'
    console.log(name) // bathingape

    var name = 'javascript'
    console.log(name) // javascript

변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 출력되는 것을 볼 수 있다.

이는 유연한 변수 선언으로 간단한 테스트에는 편리 할 수 있겠으나, 코드량이 많아 진다면 어디에서 어떻게 사용 될지도 파악하기 힘들뿐더러 값이 바뀔 우려가 있다.

그래서 ES6 이후, 이를 보완하기 위해 추가 된 변수 선언 방식이 let  const 이다.

위의 코드에서 변수 선언 방식만 바꿔보자.

 

let  const 의 차이점은 무엇일까?

이 둘의 차이점은 immutable 여부이다.

 

let은 변수에 재할당이 가능하다 그렇지만 const는 변수 재선언,변수 재할당 모두 불가능하다 

 

호이스팅이란, var 선언문이나 function 선언문 등을 해당 스코프의 선두로 옮긴 것처럼 동작하는 특성을 말한다

자바스트립트는 ES6에서 도입된 let,const를 포함하여 모든 선언(var,let,const,function,class) 을 호이스팅한다

하지만,var로 선언된 변수와는 달리 let로 선언된 변수는 선언문 이전에 참조하면 참조 에러 (referenceError)가 발생한다

 

 

java scrip & node.js  차이점

 

javascript browser, document 등을 다루는 즉, client에 대한 개발을 하는 것이다.
반대로 node.js backend를 다룰 수 있는 도구이다.

JavaScript는 독립적인 언어가 아니라 스크립트 언어로써, 특정한 프로그램 안에서만 동작을 할 수 있는데, 크롬, 파이어폭스, 사파리, 익스플로러 등 이런 웹 브라우저가 없으면 사용할 수 없는 단점이 공존했다. 따라서 client개발을 위한 용도로만 국한되어 있었다.

Node/js는 터미널 프로그램(원도우 cmd, mac terminal 등)에서 node를 입력하여 브라우저 없이도 실행할 수 있게 됐다.

JavaScript를 크롬(Chrome)같은 브라우저에서만 쓰는 것이 아닌 브라우저 밖. 즉, 내 컴퓨터에서 다양한 용도로 확장하기 위해 만들어진 것이 바로 Node.js이다. Node.js를 이용하면 Python과 같이 내 컴퓨터에서 File System를 이용할 수 있고, 서버를 만들 수도 있고 크롤링도 할 수 있습니다. 결국은 JavaScript도 Python과 같은 프로그래밍 언어이기 때문이다.

Node.js를 이용하여 Express같은 라이브러리를 이용해서 서버를 만들곤하지만, Node.js 자체는 웹서버가 아니다. 위에 말씀드렸다싶이 Node.js는 자바스크립트 런타임(JavaScript Runtime)으로 Node.js는 웹 서버를 만들 수 있는 하나의 방법에 불과하다.

 

= javascript = 브라우저  

=node .js = 확장프로그램

 

 

 

 

 

 

반응형

'js 기본상식' 카테고리의 다른 글

JS 기본지식  (0) 2022.11.22
js 기본상식 ==  (0) 2022.11.18
백엔드  (0) 2022.11.06
JS 기본상식++  (0) 2022.11.03
node.js /npm / yarn/api(함수)  (0) 2022.11.01