본문 바로가기
  • RATEL.SHO
[Javascript]

Javascript 소개 [0]

by ratelsho 2023. 5. 9.

자바스크립트란?

- 자바스크립트는 ‘웹페이지에 생동감을 불어넣기 위해’ 만들어진 프로그래밍 언어입니다.

 

- 처음 자바스크립트가 만들어졌을 때는 'LiveScript’라는 이름으로 불렸습니다. 그런데, 당시 자바의 인기가 아주 높은 상황이었습니다. 관련인들은 자바스크립트를 자바의 ‘동생’ 격인 언어로 홍보하면 도움이 될 것이라는 의사결정을 내리고 이름을 바꿨습니다. 이름은 자바에서 차용해 왔지만, 자바스크립트는 자바와는 독자적인 언어입니다. 꾸준히 발전을 거듭하면서 ECMAScript 라는 고유한 명세를 갖춘 독립적인 언어가 되었죠. 자바스크립트는 자바와 아무런 연관이 없습니다.

 

- 자바스크립트는 브라우저뿐만 아니라 서버에서도 실행가능

- 자바스크립트 엔진이라 불리는 특별한 프로그램이 들어 있는 모든 디바이스에서도 동작

- 브라우저엔 '자바스크립트 가상 머신’이라 불리는 엔진이 내장되어 있다.

 

- 엔진마다 특유의 코드네임이 있다.

// V8 – Chrome과 Opera, SpiderMonkey – Firefox,  'ChakraCore’는 Microsoft Edge, 'SquirrelFish’는 Safari

// IE는 버전에 따라 'Trident’나 'Chakra’라 불리는 엔진을 사용

 

Ex) 크롬 V8 엔진 동작 원리

엔진 동작 방식

  1. 엔진(브라우저라면 내장 엔진)이 스크립트를 읽습니다(파싱).
  2. 읽어 들인 스크립트를 기계어로 전환합니다(컴파일).
  3. 기계어로 전환된 코드가 실행됩니다. 기계어로 전환되었기 때문에 실행 속도가 빠릅니다.

- 엔진은 프로세스 각 단계마다 최적화를 진행합니다. 심지어 컴파일이 끝나고 실행 중인 코드를 감시하면서, 이 코드로 흘러가는 데이터를 분석하고, 분석 결과를 토대로 기계어로 전환된 코드를 다시 최적화하기도 합니다. 이런 과정을 거치면 스크립트 실행 속도는 더욱 더 빨라집니다.

 

자바 스크립트의 장점

  1. HTML/CSS와 완전히 통합할 수 있음
  2. 간단한 일은 간단하게 처리할 수 있게 해줌
  3. 모든 주요 브라우저에서 지원하고, 기본 언어로 사용됨

코드 에디터는 크게 통합 개발 환경(IDE)과 경량 에디터로 나뉘는데, 많은 개발자가 둘 중 하나를 택해 작업합니다.

 

통합 개발 환경(Integrated Development Environment, IDE)

- '개발 환경'을 쾌적하게 해주는 통합 환경을 제공합니다.

- IDE를 이용하면 수많은 파일로 구성된 프로젝트를 불러오고, 파일 간의 탐색 작업이 수월해집니다.

- 단순히 열려있는 파일뿐만 아니라 전체 프로젝트에 기반한 자동 완성 기능도 사용할 수 있습니다.

- git과 같은 버전 관리 시스템, 테스팅 환경 등, '프로젝트 수준’의 작업도 IDE에서 할 수 있습니다.

- 경량 에디터에 비해 많은 기능을 제공

 

경량 에디터(lightweight editor)

-  IDE만큼 많은 기능을 제공하진 않지만, 속도가 빠르고 단순하다는 장점이 있습니다.

- 파일을 열고 바로 수정하고자 할 때 주로 사용됩니다.

- '경량 에디터’와 'IDE’의 가장 큰 차이점은 IDE는 프로젝트 레벨에서 작동한다는 점입니다.

- IDE는 구동 시 불러와야 할 데이터가 많고, 필요하다면 구동 시 프로젝트 구조를 분석하는 일 등도 합니다.

- 파일 하나만 수정하고 싶다면 경량 에디터를 사용하는 게 훨씬 빠릅니다.

- 경량 에디터는 다양한 플러그인을 지원합니다.

- 디렉터리 레벨 문법 분석기나 자동완성기능 등을 플러그인을 설치해 사용할 수 있습니다.

- 요즘엔 경량 에디터와 IDE 사이의 엄격한 구분이 사라져가는 추세입니다.


개발자 콘솔

- 브라우저엔 '개발자 도구’라는 것이 내장되어 있습니다. 이 도구를 이용하면 에러를 확인할 수 있습니다.

- 대부분의 개발자는 Crome이나 Firefox를 이용해 개발하는 걸 선호 이유는 두 브라우저에서 제공하는 개발자 도구가 굉장히 훌륭

- 아래에 파란색 기호 >가 있는데 이를 '커맨드 라인(command line)'이라 부릅니다. 커맨드 라인에 명령어(command)를 입력한 후 Enter를 누르면 해당 명령어가 실행

 

Mac 전용 브라우저인 Safari에서 개발자 도구를 사용하려면 '개발자 메뉴(Develop menu)'를 명시적으로 활성화해주어야 한다. 

'[Javascript]' 카테고리의 다른 글

Javascript 자바스크립트 기본 [3]  (0) 2023.05.11
Javascript 자바스크립트 기본 [2]  (2) 2023.05.11
Javascript 자바스크립트 기본 [1]  (0) 2023.05.09
Javascript [*]  (0) 2023.05.09