Deep Dive 1~4 Chapter

NoaH-hyeonjun·2024년 3월 22일

javascript

목록 보기
4/7
post-thumbnail

1장 - 프로그래밍

  1. Problem
    -> 문제 해결 능력
  2. Solutions
    -> 문법/의미
  3. code

In fact. 요구사항의 집합을 분석해서 적절한 자료 구조와 함수의 집합으로 변환한 후, 그 흐름을 제어 하는 것.

2장 - 자바스크립트란?

Node.js - 자바스크립트 런타임 환경

브라우저의 JS Engine에서만 동작하던 JS를 브라우저 이외의 환경에서 동작 할 수 있도록 JS Engine을 독립시킨 JS 실행환경
-> Sever Side Application 개발에 주로 사용됨.

SPA 프레임 워크 (Single Page Application) - CBD(Component Based Development) 방법론 기반


JS & ECMAScript

JS가 더 큰 의미. ECMAScript를 포함하고 있다.

  • ECMAScript -> 프로그래밍 언어의 값
  • JS -> 클라이언트 사이드 API : DOM, BOM, fetch, XMLHTTPRequest
    위 두가지는 별도의 월드 와이드 웹 콘소시엄에서 별도의 사양으로 관리한다.

JS 특징

개발자가 별도로 컴파일 작업을 수행하지 않는 인터프리터 언어

인터프리터 언어

  • 코드가 실행되는 단계인 런타임에 문 단위로 한 줄씩 중간코드인 바이트 코드로 변환 후 실행한다.
  • 실행 파일을 생성하지 않는다.
  • 인터프리트 단계와 실행 단계가 분리되어 있지 않다.
  • 인터프리터는 한줄씩 바이트 코드로 변환하고 즉시 실행한다.
  • 코드가 실행될때마다 인터프리트 과정이 반복 수행된다.
  • 인터프리트 단계와 실행단계가 분리되어 있지 않고 반복 수행되므로 코드 실행 속도가 비교적 느리다.

4장 - 변수

JS는 개발자가 직접적인 메모리주소에 접근하지 못하도록 한다.

변수 이름을 '식별자'라고도 한다.

  • 어떤 값을 구별해서 식별 할 수 있는 고유한 이름
  • 값이 아닌, 메모리 주소를 기억

변수 선언시, 자동으로 undefined가 된다. (var로 선언시)


변수 선언 시점 & 호이스팅

변수 선언은 런타임 시점이 아닌, 그 전단계에서 실행된다.
변수가 먼저 선언 된것 같은 현상 : 변수 호이스팅(variable hoisting)
변수 뿐 아니라 var, let, const, function, class등 변수, 함수, 클래스는 호이스팅 된다.
모든 선언문은 런타임 이전 단계에서 실행


값의 할당 시점은 런타임 시점에 실행된다.

profile
Web개발자

0개의 댓글