JavaScript 대하여 알아보자

nais·2021년 11월 23일
0

네카라쿠배

목록 보기
24/27
post-thumbnail

자바스크립트란?

웹 페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 (정적인 HTML 을 동적으로 표현하기 위해) 경량 프로그래밍 언어로 브레던 아이크가 개발했다

개발의 목적
어플리케이션 개발 목적이 아니라 브레던 아이크는 자바스크립트라는 스크립트 언어가 비개발자들이 쓸 것이라는 것을 초점을 맞춰서 만들었다 그래서 관대하고 에러를 발생시키지 않는 코드를 생성했다

표준화

  • 1996년 마이크로소프트는 파생버전 JScript를 IE에 탑재하였다 자사 브라우저 점유율을 향상 시키지 위해 브라우저에서만 동작하는 기능을 추가하게 되었고 이로인한 크로스 브라우징 이슈 발생
  • 이에 모든 브라우저에서 동일하게 동작하는 표준화된 자바스크립트에대한 필용성으로 넷스케이프에서 ECMA ( 컴퓨터 시스템 표준을 관리하는 단체) 에 표준화를 요청하였다

  • 이후 자바스크립트는 ECMAScripts 로 명명되어서 표준안 공개 , HTML5와 함께 ECMAScripts(ES5)표준안이 나오게 되었다.

  • Es 6버전 -> ECMAScript2015 (범용적인 개발 언어로써 손색이 없어진 버전)

자바스크립트 성장

  • 초창기에는 웹 페이지의 보조적인 기능에 그쳤다
    (이 시기에 대부분의 로직은 주로 웹 서버에서 실행되었고 브라우저는 서버로부터 전달받은 HTML 과 CSS를 단순히 렌더링하는 수준)

렌더링이란?
HTML, CSS , 자바스크립트로 작성된 문서를 브라우저에서 시각적으로 출력하는 것 서버에서 테이터를 HTML로 변환해서 브라우저에게 전달하는 과정(SSR) 을 가리키기도함

1)Ajax

구글 맵스를 발표하며 브라우저가 어플리케이션의 기능을 동작할 수 있는 기능을 크롬에서 동작하도록 구성했고 이는 웹 페이지에서 변경할 필요가 없는 부분은 다시 렌더링 하지 않고 서버로부터 필요한 데이터만 전송 받아 변경해야하는 부분만 한정적으로 렌더링 하는 방식이 가능해졌다
(하지만 구글에서 자신들의 브라우저인 크롬에서만 잘 동작할 수 있도록 구현하면서 크로스 브라우징의 문제가 발생했다)

2)Jquery

jquery 등장으로 dom을 쉽게 제어할 수 있고 , 크로스 브라우징의 이슈도 해결이 되었다 직관적이고 배우기 쉽다

3)V8 자바스크립트 엔진
구글 맵스를 통해 자바스크립트는 웹 어플리케이션 엔진의 가능성이 확인되어 자바스크립트 코드를 해석하고 실행하는 엔진의 필요성이 대두되었다 구글의 v8은 이러한 요구에 부합하는엔진을 만든 것

4)Node.js
브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립를 브라우저 이외의 환경에서도 동작할 수 있도록 독립시킨 실행 환경이다 (자바스크립트가 더욱 성장하게된 계기)

자바스크립트의 특징

  • 웹 브라우저에 동작하는 유일한 프로그래밍 언어
  • 개발자가 별도의 커파일 작업을 수행하지 않는 인터프리터 언어이다

인터프리터란? (p.14쪽을 참고하자)

원시 코드를 기계어로 바꾸는 컴파일러와 다르게 바로 프로그래밍 소스 코드를 실행해 버리는 프로그램 또는 환경을 말한다

실행파일을 생성하지 않고, 한줄씩 가상머신에서 실행하도록 변환하고 실행

인터프리터 단계와 실행 단계가 분리되어 있지 않고 반복 수행되므로 코드 실행 속도가 비교적 느리다

  • 명령형, 함수형, 프로토타입기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다
profile
왜가 디폴트값인 프론트엔드 개발자

0개의 댓글