[1-3장]JavaScript의 기본적 이해

이진희·2022년 7월 15일
0

JavaScriptDeepDive

목록 보기
1/1
post-thumbnail

[1-3장] 가볍게 정리

Syntax VS Semantic

  • syntax : 문법적인 것 => 보통 디버거로 잡기 쉬움
  • semantic : 의미적인 것 => 로직이나 프로그램의 흐름 등. 논리의 오류 때문에 발생하는 문제이기 때문에 디버거로 잡기 쉽지 않음

JavaScript와 ECMAScript

ECMAScript

  • ECMAScript === ECMA-262(자바스크립트의 표준 사양).
  • 프로그래밍 언어의 값, 타입,객체와 프로퍼티, 함수 등에 적용된 규칙이라고 생각하면 된다.

JavaScript

  • ECMAScript(기본 뼈대) + Web API(브라우저 지원, DOM,BOM, Canvas, XMLHttpRequest...)

  • 특징

    • 기본문법은 c, java와 유사

    • 프로토타입 기반 상속

    • 일급 함수 개념 차용(일반 변수값처럼 사용할 수 있는 함수, 즉 return값으로도 함수를 줄 수 있고 parameter로도 함수 넘겨주기 가능)

    • 인터프리터 언어

    • 멀티 패러다임 프로그래밍 언어. 명령형 + 함수형 + 프로토타입 기반 객체지향 프로그래밍

      프로그래밍 패러다임

      명령형 프로그래밍 = 무엇을 어떻게 할 것인가. '어떻게'할 지를 중심으로 코드로 만들어주면 됨
      함수형 프로그래밍 = '어떻게'를 안 보이게 한다. 작은 문제를 해결하기 위한 함수를 만들어 그 함수를 사용하는 방식.

  • ES6를 지원하지 않는 브라우저가 있기 때문에 ES6이상의 최신 문법을 적용할 경우 babel같은 트랜스파일러로 ES5이하의 사양으로 다운그레이드해줘야한다.(어차피 다 같은 코든데 최신 문법을 적용했냐 안했냐의 차이다)

JavaScript개발 환경

1. 브라우저

  • 원래는 브라우저환경에서 실행되도록 만들어진 언어. 브라우저는 자바스크립트 엔진을 내장하고 있다.
  • 클라이언트 사이드 WebAPI 지원(DOM,BOM,Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, Web Storage, Web Component, Web Worker)

2. Node.js

  • 브라우저 외의 환경에서도 JS가 실행될 수 있게 해준다. Node.js도 자바스크립트 엔진을 내장한다.
  • 파일시스템을 기본 제공

주의! 브라우저와 Node.js는 용도가 다르다.

브라우저 : JS를 실행해 웹페이지를 브라우저에 렌더링하는 게 주목적
Node.js : 브라우저 외부에서 자바스크립트를 실행하는 게 주목적
각자 추가로 제공하는 API가 다르다.

profile
슬로우 스타터

0개의 댓글