Home 2장, 자바스크립트
Post
취소

2장, 자바스크립트

🔖 2장, 자바스크립트

1
📌 배운 내용 및 기억하고 싶은 내용
  • 자바스크립트의 탄생
    • 1995년 넷스케이프 커뮤니케이션이 웹페이지의 보조 기능을 수행하기 위해 웹 브라우저에서 동작하는 경량 프로그래밍언어를 도입한 것이 자바스크립트(브렌던 아이크가 개발)이다.
  • 자바스크립트의 표준화
    • 웹페이지가 정상적으로 동작하지 않는 크로스 브라우징 이슈가 발생하여 JS가 ECMAScript로 명명되고 표준화가 되었다. ES6부터는 let/const 키워드, 화살표함수, 클래스, 모듈 등이 등장하였다.
    • ES6: let/const, 클래스, 화살표함수, 템플릿 리터럴, 디스트럭처링 할당, 스프레드 문법, rest 파라미터, 심벌, promis, Map/Set, 이터러블, for…of, 제너레이터, Proxy, 모듈 import/export
  • 자바스크립트의 성장과 역사
    • Ajax는 서버와 브라우저가 비동기방식으로 데이터를 교환할 수 있는 통신 기능이다.
      • Ajax로 필요한 데이터만 전송받아 변경해야하는 부분만 렌더링하는 방식이 가능해져 더 빠르고 부드러운 화면전환이 가능해졌다.
    • JQuery로 DOM을 더욱 쉽게 제어하고 크로스 브라우징 이슈도 어느정도 해결하였다.
    • V8 자바스크립트 엔진은 데스크탑 애플리케이션과 유사한 UX을 제공할 수 있는 웹 애플리케이션 프로그래밍 언어이다.
    • Node.js
      • 라이언달이 제작하였으며, 구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다.
      • 브라우저 이외의 환경에서도 동작할 수 있도록 브라우저에서 독립시킨 자바스크립트 실행 환경이다.
      • 프런트엔드와 백엔드 영역에서 JS를 사용할 수 있다는 동형성이 있어 별도 학습시간을 아낄 수 있다.
      • 비동기 I/O를 지원하고 단일 스레드 이벤트 루프 기반으로 동작하여 요청 처리 기능이 좋다. 데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA에 적합하지만, CPU 사용률이 높은 애플리케이션에는 권장하지 않는다.
    • SPA 프레임워크
      • CBD 방법론을 기반으로 하는 프레임워크인 SPA가 등장하여 변경에 유연하면서 확장하기 시운 애플리케이션 아키텍처 구축에 도움을 주었다.
      • 대표적으로 Angular, React, Vue.js, svelte 등이 있다.
  • 자바스크립트와 ECMAScript
    • ECMScript는 프로그래밍 언어의 값, 타입, 객체와 프로퍼티, 함수, 표준 빌트인 객체 등 핵심 문법을 규정한다.
    • JavaScript는 클라이언트 사이드 Wep API( DOM, BOM, Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, Web Storage, WebComponent, Web Worker)를 의미한다.
  • 자바스크립트의 특징
    • 웹브라우저에서 동작하는 유일한 프로그래밍 언어이다.
    • 기본문법은 C, 자바와 유사하며 Self에서는 프로토타입 기반 상속, Scheme에서는 일급함수 개념을 채용하여 만들어졌다.
    • 인터프리터 언어이다. 즉, 개발자가 별도의 컴파일 작업을 수행하지 않으며, 소스코드를 즉시 실행한다.
      • 대부분 모던 브라우저에서 사용되는 인터프리터는 전통적인 컴파일러처럼 명시적인 컴파일 단계는 거치지는 않지만 복잡한 과정을 거치며 일부 소스코드를 컴파일하고 실행한다.
      • 인터프리터 언어의 장점인 동적 기능 지원과 실행속도를 느리다는 단점을 극복했다.
    • 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다.
    • 브라우저에서 아직 지원하지 않는 최신 기능을 사용하거나 IE같이 구형 브라우저를 고려하는 상황일땐, 바벨(Babel)같은 트랜스파일러를 사용하여 ES6이상 사양으로 구현한 소스코드를 ES5이하의 사용으로 다운그레이드를 할 수 있다.
1
❗️ 읽은 소감

자바스크립트의 탄생부터 웹에서 왜 자바스크립트를 사용하는지까지 읽고 주변 프레임워크에 대해 다시한번 공부를 하였다. 이 내용을 읽기 전에 다른 사람한테 자바스크립트는 무엇인가요? 라는 질문을 받는 다면 나는 ‘자바스크립트는 웹에서 동적인 처리를 담당하기 위해 생겨난 언어’라고만 답을 할 수 있었을거라 생각한다. 이 내용을 다시 한번 공부하고 위와 같은 질문을 다시 한번 한다면 나는 이렇게 말할것 같다.

“자바스크립트는 웹에서 보조적인 기능을 수행하기 위해 도입된 웹에서 동작하는 유일한프로그래밍 언어이며 프론트와 백엔드에서 둘다 사용할 수 있는 동형성을 가지고 있습니다. 인터프리터 언어로 코드를 입력하면 한줄씩 코드를 바이트코드로 변환후 실행하는 특징을 가지고 있으며, 지금까지도 편의를 위한 다양한 버전들이 나오고 있습니다.”

1
❓ 궁금한 내용이나 잘 이해되지 않는 내용
  • 없음
This post is licensed under CC BY 4.0 by the author.