자바스크립트 기본개요

소개

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

웹 개발

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

서버개발

Node.js의 출현으로 자바스크립트를 활용한 서버 개발도 활발이 이루어지고 있다.

애플리케이션 개발

웹이 하나의 플랫폼으로 진화하면서, 웹OS를 표방한 여러 가지 프로젝트가 진행되고 있다. 구글에선 크롬OS라는 브라우저 기반의 OS를 선보였고, 모바일에서도 HP에서 웹 OS라는 이름으로 모바일 기기에서 웹 기반의 각종 기술을 활용하고 있다.


자바스크립트 핵심 개념

객체

자바스크립트에서는 기본 데이터 타입인 boolean , string , number 와 특별한 값인 undefined , null을 제외한 모든 것은 객체이다. 기본 데이터 타입인 값들도 객체와 같이 다룰 수 있다.

함수

자바스크립트에서는 함수도 객체로 취급한다. 

프로토타입

모든 객체는 숨겨진 링크인 프로토타입을 가진다. 이 링크는 해당 객체를 생성한 생성자의 프로토타입 객체를 가리킨다. (생성자의 부모 객체) 이 링크를 ECMAScript에서는 [[prototype]] 이라고 표현한다 

실행 컨텍스트와 클로저

자바스크립트는 독특한 과정으로 실행 컨텍스트를 만들고 그 안에서 실행이 이루어진다. 이 실행 컨텍스트는 자신만의 유효범위를 갖는다. 뒤에서 더 자세하게 설명하도록 하겠다.

자바스크립트의 단점?

자바스크립트는 굉장히 유연한 언어이고 뛰어난 표현력을 가지고 있다. 하지만 이러한 특성때문에 종종 디버깅에 어려움을 겪기도 한다. 느슨한 타입 체크는 개발자에게 타입 체크에 대한 자유를 주지만, 컴파일 타임에서 잡지 못하는 오류는 고스란히 런타임 오류로 발견된다.



+ Recent posts