티스토리 뷰
목차
[자바스크립트 강좌 002] 프로그래밍 유형과 javascript 단점
[자바스크립트 프로그래밍]
자바스크립트와 객체지향 프로그래밍
자바스크립트는 클래스를 지원하지 않지만 객체지향 프로그래밍이 가능하다. 프로토타입 체인과 클로저로 객체지향 프로그래밍에서 제시하는 상속, 캡슐화, 정보 은닉 등의 개념을 소화할 수 있다. 실제로 GOF의 디자인 패턴을 자바스크립트로 구현한 코드들이 많이 공개되어 있고, 많은 개발자의 관심을 받고 있다.
자바스크립트와 함수형 프로그래밍
자바스크립트는 함수형 프로그래밍이 가능하다. 함수형 프로그래밍은 높은 수준의 모듈화를 가능케 하는 매우 효율적인 프로그래밍 방법이다.
[자바스크립트 ECMAScript]
자바스크립트는 주요 특성인 일급 객체로서의 함수 특성과 클로저를 활용하여 이를 가능케 한다. 하지만 이 때문에, 가독성을 떨어뜨리기도 한다. 과도하게 클로저가 사용되었거나, 함수형 프로그래밍 기법으로 구현된 코드는 제삼자가 해석하기가 상당히 난해하다.
자바스크립트의 단점
자바스크립트는 굉장히 유연한 언어이고 뛰어난 표현력을 가지고 있다. 하지만 이러한 특성 때문에 종종 디버깅에 어려움을 겪기도 한다. 특히, 느슨한 타입 체크는 개발자에게 타입 체크에 대한 자유를 주지만, 컴파일 타임에서 잡지 못하는 오류는 고스란히 런타임 오류로 발견된다.
[자바스크립트 단점 문제점]
또, 자바스크립트를 둘러싼 중요한 논란 중의 하나가 전역 객체의 존재이다. 최상위 레벨의 객체들은 모두 전역 객체 안에 위치하는데, 이는 이름 충돌의 위험성이 있다. 프로그래머는 이 부분에 대해 신경 쓰는 것을 게을리하면 안 된다.
그동안 여러 자바스크립트 개발자가 자바스크립트의 언어 명세서인 ECMAScript를 비판해왔다. 1999년 채택된 ECMAScript 3 버전은 상당히 모호한 설명이 많다고 한다.
결국, 이 모호한 명세서가 자바스크립트 엔진을 구현하는 데 있어서 약간의 차이를 가져왔고, 현재 자바스크립트 프로그래머에게는 브라우저 독립적인 코드를 구현해내는 것이 큰 숙제가 되었다. 다행히 2009년에 ECMAScript 6 버전이 승인되었고, 현재 더 발전된 차기 버전에 대한 논의가 활발하게 이루어지고 있다.
출처 : 인사이드 자바스크립트, 송형주, 고현준, 한빛미디어
[자바스크립트 강좌 002] 프로그래밍 유형과 javascript 단점