본문 바로가기
C++ 200제/코딩 IT 정보

[자바스크립트 강좌 001] JavaScript 활용 범위와 핵심 개념 튜토리얼

by vicddory 2017. 1. 22.

[자바스크립트 강좌 001] JavaScript 활용 범위와 핵심 개념 튜토리얼


nodejs의 완성은 OS로[자바스크립트 강좌 001] JavaScript 활용 범위와 핵심 개념 튜토리얼


자바스크립트 강좌, 활용 범위


현재 브라우저 기반의 자바스크립트 라이브러리뿐만 아니라, Node.js와 같은 서버 기반의 자바스크립트 환경에서 동작할 수 있는 각종 라이브러리까지 쏟아져 나오고 있다. 이제는 자바스크립트만으로 웹 서버와 클라이언트인 웹 페이지 개발을 동시에 할 수 있는 수준까지 이른 것이다.


웹 개발 : 현재 크롬이나 파이어폭스 등 웹 브라우저들이 나날이 발전하고 있다. 그들이 새 버전을 내놓을 때마다 항상 강조하는 것이 자바스크립트 엔진의 성능 향상에 관한 것이다. 이는 웹 페이지를 개발하는 데 있어서 자바스크립트의 역할이 얼마나 큰지를 방증한다.


특히, jQuery를 비롯하여 knockout(http://knockoutjs.com/), backbone(http://backbonejs.org/) 등의 라이브러리는 웹 개발자에게 이미 중요한 컴포넌트로 자리 잡았다. 이제는 자바스크립트를 완벽하게 이해하지 못하면 좋은 웹 개발자라는 말을 들을 수 없게 되었다.

서버 개발 : Node.js의 출현으로 자바스크립트를 활용한 서버 개발도 활발히 이루어지고 있다. express, socket.io 등의 라이브러리는 더욱 쉽게 자바스크립트로 서버를 개발할 수 있는 환경을 제공해준다.


애플리케이션 개발 : 웹이 하나의 플랫폼으로 진화하면서, 웹OS를 표방한 여러 가지 프로젝트가 진행되고 있다. 구글에서는 크롬OS라는 브라우저 기반의 OS를 선보였고, 모바일에서도 HP에서 웹OS라는 이름으로 휴대폰과 같은 모바일 기기에도 웹 기반의 각종 기술이 활용되고 있다. 이러한 웹 기반 플랫폼에서 구동되는 애플리케이션 개발에 자바스크립트는 없어서는 안 될 핵심요소가 되었다.


특히, 폰갭PhoneGap과 같은 크로스 플랫폼 개발 도구를 이용하면 DOM 요소를 핸들링하여 렌더링하는 것에서부터 더 나아가 디바이스의 동작에 대한 제어도 가능해지고 있다. 향후 완벽한 웹OS가 출현한다면 자바스크립트의 중요성은 더욱 커질 전망이다. 이처럼 자바스크립트의 활용 범위는 과거보다 상당히 넓어졌다. 웹이 크로스 플랫폼으로서 확고히 자리매김할수록 자바스크립트 역시 많은 개발자에게 사랑받을 수 있다.


자바스크립트 강좌[자바스크립트 강좌 001] JavaScript 활용 범위와 핵심 개념 튜토리얼


웹OS(webOS)


리눅스 커널에서 구동되는 모바일 운영체제이다. 팜OS를 계승하는 소프트웨어로서 팜에서 개발하고 HP(휴렛 팩커드)가 인수했다. 웹OS를 이용한 기기는 2009년 6월에 출시된 팜 Pre이며, 2013년에는 LG전자에서 스마트TV에 도입하기 위해 라이선스를 구매했다.


NodeOS. 앞으로 출현할지 모르는 것[자바스크립트 강좌 001] JavaScript 활용 범위와 핵심 개념 튜토리얼


자바스크립트의 핵심 개념


객체 : 자바스크립트의 거의 모든 것은 객체이다. 여기서 '거의'라는 표현을 쓰는 이유는 몇 가지가 제외되기 때문이다. 바로 기본 데이터 타입인 boolean, number, string이다. 그리고 특별한 값인 null, undefined도 해당한다. 이를 제외한 나머지는 모두 객체이다.


앞의 세 가지 기본 데이터 타입은 모두 객체처럼 다룰 수도 있다. 그러므로 자바스크립트는 null과 undefined를 제외한 모든 것을 객체로 다룰 수 있다.


함수 : 자바스크립트에서는 함수도 객체로 취급한다. 일반적인 객체보다 조금 더 많은 기능이 있는 객체라고 할 수 있다. 하지만 이렇게 단순히 표현하기엔 자바스크립트에서 함수는 상당히 중요하다. 이는 함수가 일급 객체First class object로 다뤄지기 때문이다.


자바스크립트 강좌 Node js[자바스크립트 강좌 001] JavaScript 활용 범위와 핵심 개념 튜토리얼


프로토타입 : 모든 객체는 숨겨진 링크Link인 프로토타입Prototype을 가진다. 이 링크는 해당 객체를 생성한 생성자의 프로토타입 객체를 가리킨다. 이 링크를 ECMAScript에서는 [[Prototype]]이라고 표현한다. 이 링크로 자바스크립트는 훨씬 더 다양하게 자신만의 자료 구조를 작성할 수 있다.


실행 컨텍스트와 클로저 : 자바스크립트는 자신만의 독특한 과정으로 실행 컨텍스트를 만들고 그 안에서 실행이 이루어진다. 이 실행 컨텍스트는 자신만의 유효 범위Scope를 갖는데, 이 과정에서 클로저를 구현할 수 있다. 이것은 자바스크립트를 제대로 이해하기 위한 핵심 개념이지만, 이해하기가 그렇게 쉬운 개념은 아닌 듯하다.


출처 : 인사이드 자바스크립트, 송형주, 고현준, 한빛미디어

[자바스크립트 강좌 001] JavaScript 활용 범위와 핵심 개념 튜토리얼

댓글