Post

Javascript 개념 정리

Javascript 개념 정리

📌 Javascript의 탄생 및 성장과정

  • Javascript는 1995년 브렌던 아이크에 의해 개발되었고 당시 웹페이지의 동적인 기능을 추가하기 위해 사용되는 스크립트 언어로서 LiveScript라는 이름으로 지어졌지만 그 당시에는 웹 브라우저에서만 사용되는 언어로써 큰 인기를 얻지 못했었다.
  • 1996년 넷스케이프 커뮤니케이션즈는 LiveScriptJavascript로 변경하였고 그 당시 자바의 인기를 이용하여 자바스크립트를 홍보하기 위한 전략이었다. 이 후에 자바스크립트는 넷스케이프 브라우저의 표준 스크립트 언어로 채택되어 웹 개발자들 사이에서 널리 사용되기 시작했다. (*자바스크립트는 자바와는 독자적인 언어이다.)
  • 1997년 ECMA 인터내셔널은 자바스크립트를 표준화하기 위한 작업을 시작하였고 이 후 자바스크립트의 버전관리와 개발을 위한 기반을 마련하게 되었다.
  • 초창기 자바스크립트는 웹 페이지의 보조적인 기능을 수행하기 위해 한정적인 용도로 사용되었다. 이 시기에 대부분 로직은 주로 웹 서버에서 실행되었고 브라우저는 서버로부터 전달받은 HTML, CSS를 단순히 렌더링하는 수준이었다. 2005년 제이슨 앤더슨은 AJAX(서버와 브라우저가 데이터를 교환할 수 있는 통신 기능)라는 개념을 소개하였고 이는 웹 페이지에서 비동기적으로 데이터를 가져오고 업데이트 하는 기술로서 자바스크립트의 역할을 크게 확장 시켰고 AJAX는 웹 어플리케이션 개발에서 핵심적인 역할을 담당하게 되었다.
  • 2009년 라이언 달은 Node.js를 발표하여 자바스크립트를 서버측에서 실행할 수 있는 환경을 제공하였고 이를 통해 자바스크립트는 웹 개발 뿐만 아니라 서버 개발에도 사용될 수 있게 되었다.

📌 Javascript의 파편화와 표준화

  • 1996년 8월, 마이크로소프트는 자바스크립트의 파생 버전 JScript를 인터넷 익스플로러에 탑재했는데 문제는 JScript와 자바스크립트가 표준화되지 못하고 적당히 호환되었다는 것이다. 즉, 자사 브라우저의 시장 점유율을 높이기 위해 자사 브라우저에서만 동작하는 기능을 경쟁적으로 추가하기 시작했다는 것이다. 이로 인해 브라우저에 따라 웹 페이지가 정상 동작하지 않는 크로스 브라우징 이슈가 발생하기 시작했고 모든 브라우저에서 동작하는 웹 페이지를 개발하는 것은 무척 어려워졌다. (이때 개발자들이 많이 고생을 했다고 한다. 각 브라우저에 맞는 웹페이지를 하나하나 개발해야 했기 때문에)
  • 이에 자바스크립트의 파편화를 방지하고 모든 브라우저에서 동일하게 동작하는 표준화 된 자바스크립트에 대한 필요성이 제기되어 1996년 11월 넷스케이프 커뮤니케이션즈는 ECMA 인터내셔널에 자바스크립트 표준화를 요청하였고 1997년 7월 ECMA-262라 불리는 표준화된 자바스크립트 초판의 명세가 처음 공개되었다.

📌 자바스크립트의 특징

  • 자바스크립트는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다.
  • JavaScript는 객체 지향 프로그래밍과 함수형 프로그래밍을 모두 지원합니다.
  • JavaScript는 동적 타입 언어로, 변수의 타입을 명시적으로 선언할 필요가 없습니다. 이는 개발자에게 유연성을 제공하며 빠른 개발을 가능하게 합니다.
  • 원래 클라이언트 측 언어로 시작했지만, Node.js의 등장으로 서버 측 프로그래밍에도 사용됩니다.

📌 자바스크립트의 주요 기능

  • DOM 조작 : JavaScript를 사용하여 HTML 문서의 내용, 속성, 스타일을 동적으로 변경할 수 있습니다.
  • 이벤트 처리 : 사용자 상호작용을 처리하고 동적인 웹 경험을 제공합니다.
  • 비동기 프로그래밍 : AJAX, Promise, async/await 등을 통해 비동기 작업을 효율적으로 처리할 수 있습니다.
This post is licensed under CC BY 4.0 by the author.