# 자바스크립트

## JavaScript

JavaScript는 웹페이지를 동적으로, 프로그래밍적으로 제어하기 위해서 고안된 언어입니다. 그렇기 때문에 오늘날 가장 중요한 플랫폼이라고 할 수 있는 웹브라우저에서 유일하게 사용할 수 있는 프로그래밍 언어입니다. 최근에는 HTML5의 적용이 가속화되면서 지금까지 모바일 환경에서 네이티브 앱(안드로이드, IOS)으로 구현해왔던 기능이 웹에서도 대부분 구현할 수 있게 되고 있습니다.

### JavaScript로 할 수 있는 일들&#x20;

* 웹페이지 스크립팅 - DOM
* 서버 측 스크립팅 - node.js
* 브라우저 확장기능
  * Google [Chrome](https://en.wikipedia.org/wiki/Google_Chrome) extensions
  * [Opera](https://en.wikipedia.org/wiki/Opera) extensions
  * Apple [Safari 5](https://en.wikipedia.org/wiki/Safari_\(web_browser\)) extensions
  * Apple [Dashboard Widgets](https://en.wikipedia.org/wiki/Dashboard_\(Mac_OS\))
  * Microsoft [Gadgets](https://en.wikipedia.org/wiki/Microsoft_Gadgets)
  * [Yahoo! Widgets](https://en.wikipedia.org/wiki/Yahoo!_Widgets)
  * [Google Desktop Gadgets](https://en.wikipedia.org/wiki/Google_Desktop#Gadgets_and_plug-ins)
  * [Serence](https://en.wikipedia.org/wiki/Serence) [Klipfolio](https://en.wikipedia.org/wiki/Klipfolio)
* Adobe [PDF](https://en.wikipedia.org/wiki/Portable_Document_Format)
* Tools in the [Adobe Creative Suite](https://en.wikipedia.org/wiki/Adobe_Creative_Suite),
  * [Photoshop](https://en.wikipedia.org/wiki/Adobe_Photoshop)
  * [Illustrator](https://en.wikipedia.org/wiki/Adobe_Illustrator)
  * [Dreamweaver](https://en.wikipedia.org/wiki/Dreamweaver)
  * [InDesign](https://en.wikipedia.org/wiki/InDesign)
* [OpenOffice.org](https://en.wikipedia.org/wiki/OpenOffice.org)
* [Unity](https://en.wikipedia.org/wiki/Unity_\(game_engine\)) 게임 엔진
* [Google Apps Script](https://en.wikipedia.org/wiki/Google_Apps_Script)
  * [Google Spreadsheets](https://en.wikipedia.org/wiki/Google_Spreadsheets)
  * [Google Sites](https://en.wikipedia.org/wiki/Google_Sites)
* 채팅 시스템
  * [ChatZilla](https://en.wikipedia.org/wiki/ChatZilla)
  * [XChat](https://en.wikipedia.org/wiki/XChat)

### JavaScript에 영향을 준 언어

* Java : 기본적인 문법
* Scheme : 1급함수(first-class function) 함수의 인자와 반환값으로 함수를 사용
* Self : prototype 기반의 상속 개념&#x20;
