Javascript 개요
자바스크립트(영어: JavaScript)는 객체 기반의 스크립트 프로그래밍 언어이다. 이 언어는 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능을 가지고 있으며, 오늘날 HTML, CSS와 함께 웹을 구성하는 요소 중 하나다. HTML이 웹 페이지의 기본 구조를 담당하고, CSS가 디자인을 담당한다면 JavaScript는 클라이언트 단에서 웹 페이지가 동작(백엔드)하는 것을 담당한다.[1] 웹 페이지를 자동차에 비유하자면, HTML은 자동차의 뼈대, CSS는 자동차의 외관, JavaScript는 자동차의 동력이라고 볼 수 있다.
Javascript 역사
Node.js와 같은 런타임 환경과 같이 서버 프로그래밍에도 사용되고 있다. 자바스크립트는 본래 넷스케이프 커뮤니케이션즈 코퍼레이션의 브렌던 아이크(Brendan Eich)가 처음에는 모카(Mocha)라는 이름으로, 나중에는 라이브스크립트(LiveScript)라는 이름으로 개발하였으며, 최종적으로 자바스크립트가 되었다.
Javascript 장점
- 단순성: 개발자 뿐만 아니라 개인도 쉽게 이해 및 습득할 수 있는 구조를 가지고 있으며, 개발자들이 웹을 위한 동적 컨텐츠를 개발하는데 비용을 절약(개발자 풀)하게해준다.
- 상호운용성: 다른 웹페이지 및 프로그래밍 언어와 호환되기 때문에 스크립트 안에 자바스크립트 코드를 임베드 할 수 있다. HTML(javascript)
- 서버 로딩: 서버로 데이터를 송/수신하지 않아도 브라우저 자체에서 데이터 유효성 검사를 할 수 있다.
- 인터페이스: 매력적인 웹 페이지를 만들기 위한 다양한(드래그 앤 드롭, 슬라이더 등) 인터페이스를 제공하여 웹 페이지 안에서 상호작용이 향상된다.
- 오버헤드 감소: 코드 길이를 줄임으로써 웹 어플리케이션의 성능을 향상시킨다.
- 속도: 인터프리터 언어(소스 코드를 바로 실행)로서 자바 와 같이 컴파일이 필요한 다른 프로그래밍 언어에 비해 시간이 적게 소모되어 프로그램 실행 속도를 높인다.
- 인기: 현대의 모든 브라우저들은 자바스크립트를 지원하며 다양한 기업(민간/공공)들도 자바스크립트를 사용한다.

Javascript 단점
- 클라이언트 보안: 자바스크립트 코드는 유저에게 보이기 때문에 데이터 보안을 손상시킬 수 잇는악성 코드를 웹사이트에 삽입하는 것이 매우 쉽다.
- 브라우저 지원: 인터프리터 언어로서 브라우저마다 자바스크립트를 해석(interpret)하는 방법이 제각기 다르다.
- 디버깅 기능 부족: 디버깅 에러에 대한 상세 내역을 출력하지 않기에 문제를 찾는 것이 어렵다.
- 단일 상속
- 느린 비트 함수: 64비트 지원하지 않고서 함수 처리 시 32비트가 아니면 32비트로 변환 후 처리한다음 다시 해당 비트로 변환하여, 연속적인 변환은 시간을 많이 소요하기 때문에 시간을 늘리고, 스피드는 줄인다.
- 렌더링 중지: 하나의 코드 에러가 발생되어도 웹 사이트에서 동작하는 자바스크립트 코드의 렌더링이 중지된다.
참고 사이트