자바스크립트의 유래 / ECMAScript / JS에서 경로를 안보여주는 이유

9999·2022년 1월 1일
0

JavaScript

목록 보기
5/13

자바스크립트를 사용하면서 여태 왜 이게 탄생했는지 조차 궁금하지 않았다. 그래도 FE가 되고싶은 학생인데 이정돈 알아야겠지..? 탄생 배경과 지금까지의 JS가 되기까지의 과정을 살펴보면 언어에 대한 이해도가 좀 더 높아지지 않을까해서 공부해 봤다.

탄생

1995

  • 약 90%의 시장 점유율로 웹 브라우저 시장을 지배하고 있던 넷스케이프 커뮤니케이션즈는 웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어를 도입하기로 결정했다.

1996

  • 3월, 넷스케이프 커뮤니케이션즈의 웹 브라우저인 넷스케이프 내비게이터2에 탑재되었고 모카(Mocha)로 명명 됨.
  • 9월, 라이브스크립트(LiveScript)로 이름이 바뀜.
  • 12월, 오늘날에 쓰여지는 자바스크립트(JavaScript)라는 이름으로 최종 명명.

자바스크립트의 표준화

  • 1996년 8월, 마이크로소프트는 인터넷 익스플로러에 JS의 파생버전인 JScript를 탑재함.
  • JS와 JScript는 시장 점유율을 높이기 위해 자신들의 브라우저에서만 동작하는 기능만 추가하기 시작.

브라우저에 따라 정상적으로 동작하지 않는 크로스 브라우징 이슈가 발생❗️❗️ 이 때부터 표준화된 자바스크립트의 필요성이 대두되기 시작.

  • 1996년 11월, 컴퓨터 시스템의 표준을 관리하는 비영리 기구인 ECMA 인터네셔녈에 JS를 표준화 요청.
  • 1997년 7월, ECMA-262라 불리는 표준화된 자바스크립트 초판이 완성되었지만 상표권 문제로 ECMAScript로 명명됨.
  • 이후의 ECMAScript 버전 → ECMAScript 버전 역사

성장과 역사

Ajax

  • 1999년, 비동기 방식으로 데이터를 교환할 수 있는 신기능 등장.
  • Ajax등장 이전엔 서버에서 HTML코드를 받아와서 변경할 필요가 없는 부분도 전체 렌더링을 했어야 했음.

Ajax등장 이후

  • 부분 렌더링 가능.
  • 웹 브라우저에서도 데스크톱 애플리케이션과 유사한 빠른 성능과 부드러운 화면 전환이 가능해짐.

jQuery

  • 2006년, DOM을 좀 더 획기적으로 조작가능한 방법이 등장.
  • 배우기가 다소 까다로운 자바스크립트보다 쉽고 직관적이여서 JS보다 jQuery를 더 선호하는 개발자가 양산되기도 했음.

V8 엔진

  • 자바스크립트로 웹 애플리케이션을 구축하려는 시도가 늘어나면서 더욱 빠르게 동작하는 엔진의 필요성을 느끼게 됨.
  • 2008년에 등장한 V8 자바스크립트 엔진은 이러한 요구에 부합하는 빠른 성능을 보여줌.
  • 엔진의 등장으로 자바스크립트는 웹 애플리케이션 프로그래밍 언어로 정착하게 됨.
  • 웹 서버에서 수행되던 로직들이 프론트엔드 영역으로 대거 이동하게 되는 계기.

Node.js

  • 브라우저 이외에 환경에서도 동작할 수 있도록 자바스크립트 엔진을 브라우저에서 독립시킨 자바스크립트 실행 환경.
  • 다양한 플랫폼에 적용할 수 있지만 서버 사이드 애플리케이션 개발에 주로 사용됨.
  • 필요한 모듈, 파일 시스템, HTTP 등 빌트인 API를 제공.
  • 단일 스레드 이벤트 루프 기반으로 동작해서 요청 처리 성능이 좋음.

→ 그러나 CPU사용률이 높은 프로그램에는 권장하지 않음. (단일 스레드의 특성)

  • 데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA에 적합.

JS? ES?

  • ECMAScript는 자바스크립트의 표준 사양인 ECMA-262를 말함.

→ 프로그래밍 언어의 값, 타입, 객체, 프로퍼티, 함수, 표준 빌트인 객체 등 핵심 문법을 규정.

  • 자바스크립트는 기본 뼈대를 이루는 ECMAScript와 DOM, Web API, fetch, xhr, SVG 등 을 지원하는 브라우저를 아우르는 개념이다.

자바스크립트는 무슨 언어일까?

  • 웹 브라우저에서 동작하는 유일한 프로그래밍 언어.
  • 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어이기도 함.
  • 인터프리터는 처리 속도가 느리다는 단점이 있지만 자바스크립트 V8엔진으로 컴파일러의 장점과 이를 결합해 문제를 해소함.

→ 이를 통해 컴파일 단계에서 추가적인 시간이 필요함에도 불구하고 빠르게 코드실행이 가능.

자바스크립트에서 사진경로가 안보이는 이유?

  • 자바스크립트는 컴퓨터 브라우저에서 동작함.
  • 만약 브라우저를 통해 자바스크립트가 사용자 컴퓨터의 로컬 파일을 삭제하거나 수정할 수 있다면 이는 사용자 컴퓨터가 악성 코드에 그대로 노출된 것과 마찬가지.
  • 따라서 보안상의 이유로 브라우저 환경 자바스크립트는 파일 시스템을 제공하지 않음.

Reference

  • JS 딥다이브

0개의 댓글