본문 바로가기

Archive

[코드스피츠 77] ES6+ 기초 편

반응형

✔️코드스피츠 77 - Es6+ 기초 편 1회차

 

*개발 시 생각해야 하는 요인들

  • 철학 : 합리주의와 상대주의
  • 가치 : 의사소통, 단순함, 유연함
  • 원칙 : 지역화, 중복제거, 대칭성(get, set)
  • 패턴 : 개발론, 설계론, 각종 적용 패턴
  • 동기 : 돈, 시간

 

*Program & Timing

-Compile Program

  1. language code (lint time)
  2. Machine Language (compile time)
  3. file
  4. Load*
  5. Run (run time)
  6. Terminate (context error)

-Script Program

  1. language code (lint time)
  2. file
  3. Load*
  4. Machine Language
  5. Run (run time)
  6. Terminate

 

*Runtime

-cpu <-> memory 사이 연산 순서 by 폰 노이만 구조

  1. Loding
  2. Instruction fetch & decording
  3. Execution

—> 2,3을 무한 반복

 

 

-Compile program

Essential definition loading

Vtable mapping

Run

Runtime definition loading

Run

-Script program

스크립트는 컴파일 타임이 없기 때문에 런타임을 층을 나누어 처리한다. 

> Static time : base functions, class.. 등을 정의

> Runtime : extended functions, class.. 등을 정의

—> static time, run time 둘 다 런타임이지만 상대주의적 런타임!

 

-프로그램이 작동하는 방식

Memory, address, pointer, variables, dicpatch

 

*직접 참조의 문제

Double dispatch 간접 접근 = linked list 구조

 

*자바스크립트의 기초

-Lexical grammar (MDN)

Control character 제어 문자

White space 공백 문자

Line Terminators 개행 문자

Comments 개행 문자

Keywords 예약어

Literals 리터럴

 

-Language Element

Statements 문 : 공문, 식문, 제어문 선언문 (단문 종문)

Expression 식 : 값식, 연산식 호출식

Identifier 식별자 : 기본형 참조형 (변수 상수)

 

Flow : 명령이 실행되는 순서

 

-Sync flow

Flow control (흐름 제어)

Sub flow (함수, 컨트롤 사용)

 

 

✔️코드스피츠 77 - Es6+ 기초 편 2회차

 

*Record

Statement - record

Flow control statement

 

*Completion Record

레코드들을 뭘로 선택할지 플로우에 관여할 수 있다. 

 

*Direct flow control

-Label : “문”이 아니다. 같은 스코프에서 label이 2개일 수 없다. 레이블의 스코프는 중괄호가 만든다. 

Identifier

Scope (label shadow / static parsing)

 

*Label range & set

Auto label (Iterator / switch / undefined named label) as comment

레이블 구문은 레이블 블럭의 가장 뒤로 이동한다. 

흐름 제어에서 아주 강력하다. 

 

*Switch

Special label block 특수한 레이블 공간을 만들어주는 문법이다. 

반응형