프로그래밍/겁나 쉽게 쓴 JAVASCRIPT 설명서

[기술] 자바스크립트 역사, 특징, 장단점

tonystark100 2024. 3. 2. 22:11

목차

    반응형

    자바스크립트의 역사

    반응형

    자바스크립트는 1995년에 넷스케이프 브라우저에서 동적인 웹 페이지를 구현하기 위해 브렌던 아이크가 만든 언어입니다. 처음에는 Mocha라는 이름으로 개발되었지만, 나중에 LiveScript로 바뀌었고, 마지막으로 자바의 인기에 편승하기 위해 JavaScript로 이름을 바꾸게 되었습니다

    자바스크립트는 웹 브라우저에서만 동작하는 언어였지만, 1996년에 ECMA라는 표준화 기구에 의해 ECMAScript라는 표준이 만들어졌습니다. ECMAScript는 자바스크립트의 핵심 문법을 정의한 것으로, 다른 환경에서도 자바스크립트를 사용할 수 있게 하였습니다. ECMAScript는 여러 버전의 표준이 발표되었으며, 최신 표준은 2020년에 발표된 ECMAScript 11입니다

    자바스크립트는 웹 브라우저뿐만 아니라, 서버, 모바일, 데스크톱, 데이터베이스, 게임 등 다양한 분야에서 사용되는 범용 프로그래밍 언어가 되었습니다. 자바스크립트는 Node.js, React Native, Electron, MongoDB, Phaser 등의 다양한 플랫폼과 프레임워크와 함께 발전하고 있습니다. 자바스크립트는 현재 세계에서 가장 많이 사용되는 프로그래밍 언어 중 하나입니다

     

    자바스크립트의 특징

    인터프리터 언어

    자바스크립트는 컴파일러에 의해 기계어로 번역되지 않고, 인터프리터에 의해 소스 코드를 한 줄씩 해석하고 실행하는 언어입니다. 인터프리터란 프로그래밍 언어를 컴퓨터가 이해할 수 있는 언어로 변환해 주는 프로그램입니다. 인터프리터 언어는 컴파일러 언어보다 실행 속도가 느릴 수 있지만, 플랫폼에 독립적이고, 개발과 디버깅이 쉽습니다.


    동적 타이핑 언어

    자바스크립트는 변수의 타입을 미리 선언하지 않고, 프로그램이 실행되는 도중에 자동으로 결정되는 언어입니다. 타입이란 값의 종류를 말합니다. 예를 들어, 정수, 실수, 문자열, 논리 등이 타입입니다. 동적 타이핑 언어는 정적 타이핑 언어보다 유연하고 간결하지만, 오류가 쉽게 발생하고, 성능이 저하될 수 있습니다.


    객체 기반 언어

    자바스크립트는 객체 지향 패러다임을 부분적으로 따르는 언어입니다. 객체 지향 패러다임이란 프로그램을 실세계의 사물과 개념을 객체로 표현하고, 객체 간의 상호작용을 통해 프로그램을 구현하는 방식입니다. 객체 기반 언어는 객체 지향 언어와 비슷하지만, 클래스라는 개념이 없고, 상속이 제한적입니다. 자바스크립트는 객체를 생성하고 수정하고 삭제할 수 있으며, 프로토타입 기반 상속을 지원합니다.


    함수형 언어

    자바스크립트는 함수형 패러다임을 부분적으로 따르는 언어입니다. 함수형 패러다임이란 프로그램을 순수한 함수의 조합으로 표현하고, 상태와 부수 효과를 최소화하는 방식입니다. 함수형 언어는 함수를 일급 객체로 취급하고, 고차 함수, 클로저, 재귀, 람다 등의 기능을 제공합니다. 자바스크립트는 함수형 프로그래밍을 가능하게 하며, ES6부터는 화살표 함수, 제너레이터, 프로미스 등의 새로운 기능을 추가하였습니다.

     

    자바스크립트의 장단점

    장점
    1. 웹 브라우저에서 동작하는 언어입니다.

    자바스크립트는 웹 브라우저에서 동작하는 언어로, 웹 페이지에 다양한 기능과 효과를 적용할 수 있습니다. 예를 들어, 버튼을 클릭하거나, 폼을 검사하거나, 애니메이션을 보여주거나, 데이터를 비동기적으로 불러오거나 하는 기능들을 구현할 수 있습니다. 이것은 웹 페이지를 더 동적이고 사용자 친화적으로 만듭니다.
    범용 프로그래밍 언어입니다. 자바스크립트는 웹 브라우저뿐만 아니라, 서버, 모바일, 데스크톱, 데이터베이스, 게임 등 다양한 분야에서 사용되는 범용 프로그래밍 언어입니다. 

     

    2. 자바스크립트는 사용성이 높은 언어입니다.

    Node.js, React Native, Electron, MongoDB, Phaser 등의 다양한 플랫폼과 프레임워크와 함께 사용될 수 있습니다. 이것은 자바스크립트의 활용도를 높이고, 다양한 문제를 해결할 수 있습니다.


    3. 쉽고 간결한 언어입니다.

    자바스크립트는 배우기 쉽고 읽기 쉬운 언어입니다. 자바스크립트는 문법이 간결하고, 타입 선언이 필요 없고, 메모리 관리가 자동으로 이루어집니다. 자바스크립트는 다른 언어와의 호환성도 좋습니다. 자바스크립트는 HTML, CSS, JSON 등의 언어와 쉽게 결합할 수 있습니다. 이것은 자바스크립트의 개발 속도와 편리성을 높입니다.

     

    단점

    1. 실행 속도가 느린 언어입니다.

    자바스크립트는 인터프리터 언어로, 소스 코드를 한 줄씩 해석하고 실행하는 언어입니다. 이것은 컴파일러 언어보다 실행 속도가 느리다는 것을 의미합니다. 컴파일러 언어는 소스 코드를 한 번에 기계어로 번역하는 언어입니다. 이것은 컴퓨터가 바로 실행할 수 있습니다. 자바스크립트는 실행 속도를 높이기 위해 JIT 컴파일러라는 기술을 사용하기도 합니다. JIT 컴파일러란 프로그램이 실행되는 도중에 자주 사용되는 코드를 기계어로 변환해 주는 기술입니다. 하지만 JIT 컴파일러도 완벽하지 않으며, 성능 저하를 야기할 수 있습니다.


    2. 안전성이 낮은 언어입니다.

    자바스크립트는 동적 타이핑 언어로, 변수의 타입을 미리 선언하지 않고, 프로그램이 실행되는 도중에 자동으로 결정되는 언어입니다. 이것은 유연하고 간결하다는 장점이 있지만, 오류가 쉽게 발생하고, 디버깅이 어렵다는 단점이 있습니다. 예를 들어, 자바스크립트는 변수의 스코프가 함수 단위로 결정되므로, 의도치 않은 변수의 재할당이나 충돌이 발생할 수 있습니다. 또한 자바스크립트는 암묵적 형변환을 수행하므로, 예상치 못한 결과가 나올 수 있습니다. 이것은 프로그램의 신뢰성과 안정성을 떨어뜨립니다.


    3. 일관성이 떨어지는 언어입니다.

    자바스크립트는 표준화되지 않은 부분이 많고, 브라우저마다 동작이 다른 경우가 있는 언어입니다. 예를 들어, 자바스크립트는 DOM이나 BOM과 같은 웹 브라우저와 관련된 기능을 제공하지만, 이들은 ECMAScript 표준에 포함되지 않습니다. 때문에 브라우저마다 지원하는 기능이나 방식이 다를 수 있습니다. 또한 자바스크립트는 호환성이 좋지 않은 경우가 있습니다. 예를 들어, ES6부터 새로운 문법이나 기능이 추가되었지만, 구형 브라우저에서는 동작하지 않을 수 있습니다. 이것은 프로그램의 일관성과 호환성을 떨어뜨립니다.

     

    이상으로 자바스크립트 언어의 소개였습니다.

    ** 이 글이 좋았다면 좋아요와 구독을 눌러주세요. **

    반응형