본문 바로가기

프론트엔드/javascript

자바스크립트에 대한 이해

안녕. 유니버스코딩이야.

난 벌써 개발IT쪽, 그중에서 WEB분야에서 근 10년 가까이 몸담고 있는 프로그래머야.

그동안 쭉 주력언어로 PHP 라는 언어를 써왔고 백엔드 위주로 다뤄왔어.

하지만 규모가 큰 회사를 제외하고 다들 느끼겠지만 백엔드 개발자라고 백엔드만 하기에는 어려운게 업계 현실이야.

그래서 나도 프론트엔드를 조금은 해왔어. 보통 HTML , CSS , JAVASCRIPT 를 이용해서 작업해왔고 JQUERY , BOOTSTRAP , GNUBOARD 을 이용해서 조금 더 효율적이고 빠르게 프론트엔드 작업을 해왔어.

사실 디자인적 감각도 없고 흥미도 없어서 프론트엔드에 대해 깊은 생각을 해본적이 없기도 해.

그러다가 최근 회사에서 새로운 프로젝트가 시작되면서 기존에 사용하던 걸 벗어나 프론트엔드와 백엔드를 전부 바꿔야 하는 상황에 직면했어.

 

프론트엔드는 React, 백엔드는 Node.js 를 이용하여 작업해야 하는 상황이 온거야. 그래서 얇은 지식으로 가지고 있는 javascript에 대한 정리가 절실히 필요하다고 느끼고 내가 가지고 있는, 또 내가 지니고 있는 javascript 지식을 다시 리빌딩할수 있는 정리가 필요하다고 생각해서 javascript( 이하 js ) 의 정리가 필요하다고 느꼈어. 

 

왜냐하면 React와 Node.js 모두 js 로 이루어져있어. 그렇기 때문에 내가 프로그래밍을 하기 위해서는 js가 필수인거지.

그래서 아주 기초적인 부분부터 차근차근 공부를 하며 정리를 하려고 해. 기존에 내가 알고 있던 프로그래밍적 지식과 알고리즘, 또 스터디를 운영하면서 스터디원들이 어려워했던 부분들을 참고하면서 작성하려고 하니 만약 js 를 처음 시작하려고 하는 사람이 있다면 같이 함께 달리면서 공부하면 좋을꺼 같아.

 

댓글을 통해 궁금한 점이 있으면 서로 공부가 되도록 최대한 답변해줄께. 그럼 시작.

 

JAVASCRIPT (JS)

 

js는 객체 기반의 스크립트 프로그래밍 언어야. 여기서 중요한 부분은 두가지. '객체기반' 이라는 단어와 '스크립트' 라는 단어야. 

 

프로그래밍에서 객체라는 단어는 오브젝트라는 단어로도 쓰는데 사실 어떻게 정의내리기가 가장 애매한 녀석이 아닐까 해.  왜냐하면 프로그래머마다 객체를 어떻게 생각하고 어떻게 느끼는지는 천차만별이기 때문이야. 그래서 js 를 공부하면서 객체에 대해 나만의 올바른 정의를 세우는게 중요해. 이부분은 나중에 오브젝트를 설명할때 다시 한번 알려주도록 할께. 그리고 스크립트는 응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어를 의미해. 쉽게 이야기 하자면 기존에 이미 작성되어 있는 프로그램을 제어하기 위해 사용되는 언어야.

 

예를 들어볼께. 이미 작성되어 있는 홈페이지( HTML + CSS ) 에 js 를 사용하면 좀더 엑티브하게 움직임을 제어할수 있어. 배너를 순차적으로 돌린다던지, 페이지를 스크롤할때 자연스럽게 head 영역이 따라다닌다던지 등등 홈페이지를 제어할수 있게 해주는 언어야. 아 물론 내가 이야기하는 부분은 js 가 나온 초창기때의 역활이고 지금은 js 의 생태계가 무척이나 확장되어 js는 만능의 언어로 불리고 있지. 프론트엔드는 리엑트, 뷰 , 앵귤러 등 프레임워크등이 활약하고 있고 서버쪽은 node.js 가 활약하고 있고, 윈도우 프로그램은 일렉트론으로 구현가능해.

아주 놀라운 언어야. js 만 잘 알아도 모든걸 망라한 풀스택 개발자도 될수 있다구!

 

js 는 넷스케이프에서 근무하던 브렌던이라는 사람이 제일 처음 모카라는 이름으로 발표했어, 그후 라이브스크립트라는 이름에서, 최종적으로 자바스크립트라는 이름이 되었어. 초창기에는 스크립트 언어가 자바스크립트만이 있는게 아니라 마이크로소프트에서 개발한 J스크립트 등이 있어서 개발자들은 모든 스크립트에서 구동되는 언어를 사용하느라 애를 먹어야만 했어. 모든 브라우저에서 동작하는 홈페이지를 만들기위해 몇번씩이나 코딩을 해야 했던거지. 이러한 불편한 점에 대해 끊임없이 이야기가 나오기 시작했고 그러다가 ECMA 표준이라는게 나와서 난립했던 스크립트 언어시장이 획일화되기 시작했어. JS 를 배우는 우리 입장에서는 정말 다행인 일이지.

 

또한 우리가 별도의 설치없이 웹페이지상에서 자바스크립트를 사용할 수 있는 이유는 우리가 컴퓨터에서 이용하는 브라우저 ( 엣지, 크롬, 웨일 등등 ) 에 이미 js를 구동시킬수 있는 엔진이 포함되어 있기 때문이야. 그만큼 브라우저를 개발하는 회사에서 JS 를 중요하게 생각하다고 여겨도 좋을꺼 같아.

 

오늘은 js 에 대해 알아봤어. 우리가 js 를 배우면 좋은 이유와 js의 역사, 그리고 우리가 편하게 js 를 구동시킬수 있는 이유들 말이야. 사실 이런 이론은 다들 재미없어 하기 때문에 자세하게 적지 않으려고 해. 그러나 이런 js의 시작을 알고 시작하면 좀 더 즐거운 코딩이 되지 않을까 ? 

 

다음에는 드디어 js를 시작하는 방법에 대해 알아볼께!

 

그러면 모두 즐거운 코딩!

 

 

 

'프론트엔드 > javascript' 카테고리의 다른 글

제2강 javascript 변수  (0) 2021.12.16