끄적끄적

자바스크립트란? 본문

Front-end/Javascript

자바스크립트란?

mashko 2019. 5. 26. 22:04
반응형

자바스크립트는 미국의 넷스케이프 커뮤니케이션즈사(Netscape Communications)가 개발한 스크립트 언어입니다.

프로그래밍 처음 입문자이거나 대게 보통 자바스크립트를 제대로 접해보지 않은 사람들은 자바와 이름이 비슷하기 때문에 자바를 하면 자바스크립트를 잘다룬다(?)라는 말을 많이합니다. 실제로 저도 많이 들었습니다..

 

자바와 자바스크립트는 위에 표와 같이 다릅니다. 즉, 이름말고는 전혀 다른 언어입니다.

Java는 1995년에 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체지향적 프로그래밍 언어입니다.

물론, ECMA ScriptTypescript등 많은 javascript의 엄청난 변화가 있어 객체지향적 프로그래밍이 가능해지고 자바와 비슷하게 프로그래밍이 가능해졌지만 기본 베이스는 엄현히 다른 언어입니다.

 

JavaScript는 사용자와 웹사이트가 서로 상호작용하는 데에 도움을 주는 기능을 제공하는데요.

사용자가 웹사이트의 화면에서 어떠한 액션을 일으켰을 때, 다른 페이지를 열지 않고도 변화된 결과를 즉각적으로 보여줍니다.

 

자바스크립트의 특징

  • JavaScript는 객체 기반의 언어입니다. 하지만 상속과 클래스라는 개념은 없습니다.
  • JavaScript는 인터프리터 언어로서 클라이언트의 웹 브라우저에 의해 해석되고 실행됩니다.
  • JavaScript는 HTML문서 내에 기술되고 HTML 문서와 함께 수행됩니다.
  • JavaScript는 HTML에 연산 제어 등 프로그래밍적인 요소를 추가하고 클라이언트의 자원을 활용할 수 있게 합니다.
  • 실행 컨텍스트와 클로저(자신만의 독특한 과정을 통해 실행 컨텍스트를 만들고 그 안에서 실행이 진행됩니다.)
  • ProtoType-based Object(즉, 프로토타입 기반의 객체지향 언어)
  • 동적타입(dynamic Typed)의 언어이며 혹은 느슨한 타입(loosely Typed) 언어입니다.

 

자바스크립트의 역활

  • HTML 페이지 변경 및 HTML 엘리먼트와 콘텐츠의 추가나 제거
  • CSS 및 HTML 엘리먼트의 스타일 변경
  • 사용자와의 상호작용, 폼의 유효성 검증
  • 마우스와 키보드 이벤트에 대한 스크립트 실행
  • 웹 브라우저 제어, 쿠키 등의 설정과 조회
  • AJAX 기술을 이용한 웹 서버와의 통신

 

현재는 Node.js를 통해 웹브라우저를 벗어나 서버상에서도 사용할 수 있습니다.

Node.js는 2009년 라이언 달(Ryan Dahl)이라는 프로그래머가 개발한 서버 개발 환경입니다.

 

자바스크립트의 장점

자바스크립트는 컴파일 과정이 없기 때문에 다른 언어와 비교했을 때 빠른 시간 안에 스크립트 코드를 작성할 수 있게 도와줍니다.

기존 C나 자바 언어와 달리 굉장히 단순한 구조와 원칙을 가지고 있기 때문에 초보 개발자들이 쉽게 배우고 이해할 수 있습니다.

예를 들어 자바스크립트 코드 안에서는 변수, 클래스 및 메소드를 선언하지 않아도 되고,

메소드가 ‘public’, ‘private’ 또는 ‘protected’인지 구분하지 않아도 됩니다.

자바스크립트는 웹에 특화된 기술이기 때문에 운영체제나 플랫폼에 상관없이 잘 작동되고 확장성도 높습니다.

 

자바스크립트의 단점

단점은 성능이나 보안 측면입니다. 일단 내부에서 제공되는 기능이 제한적이고, 관련된 개발도구도 적은 편이고요. 또한 자바스크립트는 HTML 소스코드에 함께 작성되면서 소스코드가 외부로 공개되는데, 이 과정에서 보안 취약점이 발생할 수 있습니다.

반응형
Comments