모던 자바스크립트 Day 2

이현정·2022년 3월 31일
1

🔖 오늘 읽은 범위: 2.4~2.5 (p.13~15)

☘️ 책갈피:

2.4 자바스크립트와 ECMAScript

  • ECMAScript 는 자바스크립트의 표준 사양(ECMA-262)을 부르는 말.
  • 각 브라우저 제조사는 ECMAScript 사양을 준수해서 브라우저에 내장되는 자바스크립트 엔진을 구현한다.
  • 자바스크립트는 일반적으로 EMAScript 와 브라우저가 별도로 지원하는 클라이언트 사이드 Web API 를 아우르는 개념. ( JavaScript = EMAScript + 클라이언트 사이드 Web API )

2.5 자바스크립트의 특징

  • 웹 브라우저에서 동작하는 유일한 프로그래밍 언어 (HTML, CSS 는 프로그래밍 언어가 아니라 마크업 언어이다.)
  • 인터프리터 언어** rather than 컴파일러 언어
  • 멀티 패러다임 프로그래밍 언어***
  • 프로토타입 기반의 객체지향 언어**** rather than 클래스 기반 객체지향 언어

2.6 ES6 브라우저 현황

  • 대부분의 모던 브라우저는 ES6를 지원하지만 100% 지원하고 있지는 않다.
  • Node.js 는 v4부터 ES6를 지원하기 시작했다.
  • 브라우저에서 아직 지원하지 않는 최신 기능을 사용하거나 구형 브라우저를 고려해야 하는 상황이라면 바벨**** 과 같은 트랜스 파일러를 사용해 ES6 이상의 사양으로 구현한 소스코드를 ES5 이하의 사양으로 다운그레이드할 필요가 있다.

? 의문점:

  • 클라이언트 사이드 Web API: 사실 API 가 뭔데? 라고 물어보면 데이터 불러오는거..? 정도로만 대답할 수 있는 정도였기 때문에 이번 기회에 제대로 정리해보는 시간을 가졌다. 👉 API 및 관련 개념 정리 글 보러가기

  • 인터프리터 언어 vs. 컴파일러 언어 (책 p.14):
    일단 간단히 짚고 넘어가면 인터프리터 혹은 컴파일러는 둘다 고레벨의 프로그래밍 언어를 기계어로 번역하는 번역기 역할을 한다. 다만 그 번역의 방식에서 둘의 차이가 갈리는데, 인터프리터는 고레벨 언어를 바로 기계어로 번역하지 않고 중간 형태로 변환시킨 후 실행한다. 반면 컴파일러는 고레벨 언어를 바로 기계어로 변환한다. 👉 출처

  • 멀티 패러다임 프로그래밍 언어:

  • 프로토타입 기반 객체 지향 언어 vs. 클래스 기반 객체 지향 언어:
    용어 정리부터 파보자.
    프로토타입: Prototype. 위키피디아에 따르면 정의는 "원래의 형태 혹은 전형적인 예"
    객체: Object. 위키피디아에 따르면 정의는 "적용의 대상이 되는 쪽"
    https://opentutorials.org/module/4047/24610

  • 바벨: 49장 바벨 파트에서 자세히 다룬다고 하니. 지금은 바벨이 사양 다운그레이드하는 기능을 하는구나, 정도만 알아두자.

💬 느낀점:

  • 이 2장짜리 내용에 이렇게 모르는 내용이 많이 나올 줄 몰랐다. 하지만 이 부분을 다 파면 자바스크립트가 어떤 언어인지, 딱 정리해서 누군가에게 설명할 수 있을 정도로는 이해할 수 있을 것 같다.

🌟 두 줄 요약:

  • 자바스크립트는 EMAScript 와 클라이언트 사이드 웹 API 를 포괄하는 개념이다.
  • 자바스크립트는 다음과 같은 특징을 가진다:
    1) 웹 브라우저에서 실행가능한 유일한 프로그래밍 언어이다.
    2) 인터프리터 언어이다.
    3) 여러 패러다임 중 프로토타입 기반 객체 지향 언어를 포함한 다양한 패러다임에 속하는 멀티 패러다임 프로그래밍 언어이다.

0개의 댓글