ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바스크립트(JavaScript)란 무엇일까?
    개발/자바스크립트 2022. 7. 27. 16:31

    저는 자바 개발자로 시작하였으나 어느 날 정신 차려보니 자바스크립트 개발자가 되어 있었습니다.

    학원에서 개발을 배워서 진행하는 예비 개발자 분들의 경우를 보면, 아무래도 학원은 얕고 넓게 가르치고

    백엔드 위주의 교육들이 주를 이루다 보니 자바스크립트를 보조적인 느낌의 언어로 생각하시는 분들이 왕왕 있더군요.

    아직 저도 많이 부족하지만 자바스크립트의 매력에 푹 빠진 사람으로서 

    비전공자나 약간의 관심이 있는 분들을 위해 자바스크립트에 관한 글을 조금 써볼까 합니다.

    (글로 정리하며 저도 다시 리마인드하고 공부하는 계기도 될것 같습니다..)

     

    간단하게 자바스크립트의 발전 훑어봐볼까요.

     

    1. 자바스크립트의 탄생

    요즘 시대에 브라우저는 크롬이 60%이상의 점유율을 가지고 있으나,

    1990년대에는 넷스케이프 커뮤니케이션즈가 90% 이상의 점유율을 가지고 있었다고 합니다.

    당시 넷스케이프는 브랜던 아이크를 영입하여 '스킴'이라는 언어로 정적인 HTML을 동적으로 표현하려고 했는데요.

    브랜던 아이크는 '스킴'이 아닌, 10일 만에 새로운 언어를 만들어 버렸습니다.

    그것이 바로 '자바스크립트'입니다.

     

    초창기에는 '모카' 라고 명칭 되었지만, 이름이 바뀌어 라이브스크립트, 다시 3개월 만에 명칭이 바뀌어

    우리가 현재 부르는 '자바스크립트'로 불리게 되었습니다.

     

    2. 자바스크립트의 사용

    오늘날 자바스크립트는 웹을 구성하는데 있어 없어서는 안 되는 필수 언어임과 동시에

    구글의 V8엔진으로 부스터를 달아 속도를 높이고

    자바스크립트 런타임 환경을 구성하는 node.js를 통해 날개를 달아 웹 밖으로까지 영역을 넓혔습니다.

    현재는 웹뿐아니라 서버, 데스크탑, 게임 개발 등 여러 곳에서 사용하는 인기 있는 언어가 되었습니다.

    (주력인 웹에서는 대체할 것이 없습니다.)

    3. 자바스크립트 특징

    자바스크립트의 가장 큰 특징은 검색해보면 쉽게 알 수 있듯이 바로 인터프리터 언어라는 것입니다.

    인터프리터 언어는 컴파일러 언어처럼 소스를 컴파일해서 실행파일을 만드는 것이 아니라

    소스코드를 바로 실행하는 방식입니다.

    컴파일의 과정이 없기에 개발이 빠르지만 실행환경에서는 컴파일된 프로그램보다는 느리고 

    코드가 실행될때 마다 '바이트코드 변환 > 실행' 의 반복 작업이 수행되는 단점이 있습니다.

    이러한 단점을 보완하고자 JIT컴파일을 이용해 조금은 보완된 속도를 보여주게 되었습니다.

     

    또한, 다른 언어들보다 많이 허용적입니다. 이것은 장점이기도 하고 단점이기도 하는데요.

    허용적인데 인터프리터 언어여서 실행시에 예상치 못한 에러를 접할때가 많습니다.

    (요즘은 자바스크립트를 좀 더 엄격하게 사용하기 위해 타입스크립트를 사용해서 이 부분을 보완하였습니다.)

     

    4. 결론

    사실, 내용을 읽어보니 아직 복잡스런 단어들이 많이 혼합되어 있네요.

    비개발자분들이 보시기 위한 결론을 내려보면

    자바스크립트가 없으면 웹 페이지의 변화? 없습니다.

    (물론, 요즈음에는 css, canvas를 이용해 움직이는 요소 생성 정도는 가능하긴 합니다.)

     

    그러나,,

    sms 인증요청을 하면 타이머가 표시되며 카운트 다운이 되고

    쇼핑몰 상세페이지를 보다가 Top버튼을 눌러서 맨 위로 올리고

    이 버튼을 누르면 무언가 뿅 나타나기도 슝 사라지기도 하고

    클릭을 하면 특정 동작을 하고... 등등

    모두 자바스크립트로 만든다고 보면 됩니다.

     

    앞으로 자바스크립트 진입하시려는 분들을 위한 

    문법을 조금씩 다뤄보겠습니다.

    댓글

Designed by Tistory.