JavaScript 와 Node.js 의 차이

Seungmin Shin·2021년 12월 29일
1

JavaScript? Node.js?

이 두가지의 개념을 두고 그 차이를 설명하라고 했을때, 뭔가 애매한 느낌이 들었었다.

분명 두 개념은 다른것이다, 그래서 차이점이 명확할거라고도 생각이 들었지만
그 차이점을 생각해본 적은 없다, 당장에 생각나는것은, 각각의 스택이 사용되는 부분..이랄까?

나는 학원에서 배우기를, 자바스크립트는 html 의 동적으로 만들 수 있는 언어라고 배웠고,
node.js는 그런 자바스크립트를 개발자들이 백엔드에서도 사용할 수 있게끔 해주는거라고 배웠었다.
그 후 실습때도 node.js 는 백엔드 영역에서만 다뤘기 때문에, 그냥 프론트엔드와 백엔드의 차이로만
알고 있었다.

하지만 이 기술면접 질문을 공부하면서 다른 차이점도 존재한다는것을 배웠다.
만약 면접을 이 질문으로 면접을 보게 된다면, 어떤 느낌일까?

면접관이 질문을 한다.

"자바스크립트와 node.js 간의 차이를 설명해주실 수 있나요?"

면접관이 이 질문을 하는 의도가 무엇일까.
왜 자바스크립트와 node.js 간의 차이점을 알고있어야 하는것일까?

정확한 이유는 모르겠지만.. 한번 유추해보자면

이 질문의 메인은 node.js이고, node.js에서 자바스크립트가 어떻게 쓰이는지를 명확히 하려는것인것 같다.
이러한 의도를 가지고있다는 전제하에 이 질문에 대답을 해보자.

일단 대답을 하기위해서, 내가 자바스크립트에 대한 개념을 확실히 인지하고 있다는것을 보여주자.

"일단, 자바스크립트는 html을 동적인 웹으로 만들어주기 위한 스크립트 언어이고, 자바스크립트 자체만으로는
브라우저내에서만 동작할 수 있습니다, 그리고 그런 자바스크립트를 브라우저 밖에서도 이용할 수 있게 해준
것이 node.js 입니다."

"그렇군요, 그렇다면 node.js 에서 사용되는 자바스크립트와, 브라우저에서 사용되는 자바스크립트는
같은 건가요?"

무슨말일까..? 자바스크립트면 자바스크립트지, 같은건가요...라니?
뭔가 다르게 사용되는것일까? node.js 에서 사용하는 자바스크립트는 다른 성격을 가지고 있는걸까?

그렇다면 내가 알고있는 정보로 대답해보자.

"일반적으로 브라우저에서 사용하는 자바스크립트는 프로그래밍 언어로써 사용하고, node.js 에서도
같은 자바스크립트를 사용합니다, 서로 다르지는 않습니다. 어디서 사용되는지가 다를 뿐이죠"

"그렇군요, 그럼 어떤 차이가 있을까요?"

"의미의 차이일것 같습니다, 자바스크립트는 두가지의 의미가 있는데, 하나는 언어로써의 의미가 있고
또 다른 하나는 런타임으로써의 의미가 있습니다, 자바스크립트 자체를 사용한다는것은, 언어로써의 기능으로
사용하겠다는 의미이고, node.js 를 사용한다는것은 자바스크립트를 작동시킬 수 있는 환경으로써의 기능을
사용하겠다는 의미입니다. 그리고 기본적으로 자바스크립트는 프론트엔드, node.js는 백엔드에서 사용된다고
배웠습니다."

뭐.. 여기까지다, 나는 만약 이런 질문을 받는다면 이렇게 대답할것 같다, 현재의 나의 최선이랄까.

위에서 말했다시피, 자바스크립트와 node.js 의 차이에 대한 질문을 받는다면, 그것은 아마 기능에 대한
질문을 한다기보다는 두 스택이 가지고 있는 의미에 대해 물어보는것이 아닐까 싶다.

자바스크립트의 경우는 그자체로만 보면 프로그래밍 언어, 스크립트 언어로써 기능을 한다.
그리고 node.js 는 자바스크립트를 브라우저에서 빼내 내 컴퓨터에서도 사용할 수 있는 환경을 만들어 주는
기능을 한다. 그렇기에 기능으로써의 차이는 당연하니, 이렇게 접근해 보는것도 괜찮을것 같다.

이것 또한 내 의견일 뿐, 정답은 아닐것이다.

profile
Frontend Developer

0개의 댓글