[JS] Lexical Grammar, Language Element

2021. 7. 5. 19:23·과거
반응형
CONTROL CHARACTER 제어문자 U+200C, U+200D,  U+FEFF
WHITE SPACE 공백문자 \t, \f ...
LINE TERMINATORS 개행문자 \n, \r
COMMENTS 주석 //, /**/, #!
KEYWORD 예약어 break, case, const ...
LITERALS 리터럴 Null, Boolean, Number, Object, Array...

Language Element

Statements 문 : 컴파일러 혹은 실행기한테 주는 힌트

메모리에 흔적이 안남고 실행기가 힌트를 받아 어떻게 처리할지 생각함.

// Statements 문

// 공문
for (var i = 0; i < 5; i++); // 공문 반복
;;;;;; // 공문 여러개

// 선언문 - 메모리 상에 변수를 할당
var, let, const

// 제어문 - flow control

// 식문 - 식을 문으로 인정해줌
3;4;5;
if(true)3

/**************************************/

// 단문과 중문
if (true); // if 뒤에 단문
if (true);; // if 뒤에 단문 뒤에 공문
if (true){;;} // if 뒤에 중문

var a, b;
if (true) a = 3; b = 5; // if 뒤에 단문 + 알파
if (true) {a = 3; b = 5;} // if 뒤에 중문

if (true) a = 3; else b = 5; // if 뒤에 단문 + else 뒤에 단문
if (true) a = 3; else if (a > 2) b = 3; else b = 5; // if 뒤에 단문 + else 뒤에 단문(if-else)
if (true) a = 3; else {if (a > 2) b = 3; else b = 5;} // if 뒤에 단문 + else 뒤에 중문(if-else)

const f = (a) => {} // 중문이 아닌 함수 몸체로 인식
const f = (a) => ({}) // 함수 몸체의 중괄호가 아닌 객체 리터럴의 중괄호로 인식

 

Expression 식

// Expression 식 = 값 (값을 표현하는 여러 방법 = 식)

// 값식
3
true

// 연산식
a + b
a - b

// 호출식 - 함수 호출
myFunction(1, 2);

Identifier 식별자

대부분 변수. 기본형, 참조형 / 변수, 상수

반응형

'과거' 카테고리의 다른 글

details marker 제거  (0) 2021.07.13
이벤트 리스너, 이벤트 위임  (0) 2021.07.13
너 왜 코드 그렇게 짰어?  (0) 2021.07.05
Non-blocking JavaScript - 1  (0) 2021.06.17
Runtime Execution, State Control, Flow Control, Sync & Async  (0) 2021.06.17
'과거' 카테고리의 다른 글
  • details marker 제거
  • 이벤트 리스너, 이벤트 위임
  • 너 왜 코드 그렇게 짰어?
  • Non-blocking JavaScript - 1
optimy
optimy
See one, do one, teach one
  • optimy
    공자천주
    optimy
  • 전체
    오늘
    어제
    • All posts (27)
      • Note (4)
      • Book (0)
      • Do one (0)
      • Teach one (0)
      • 과거 (23)
  • 블로그 메뉴

    • 링크

      • github
    • 공지사항

    • 인기 글

    • 태그

      이미지파일저장
      날개셋 한글 입력기
      창 그룹화
      탭 관리 프로그램
      이벤트 위임
      캡처후저장
      JavaScript
      복사한것저장
      State Control
      콜맥
      구현 패턴
      Sync & Async
      프론트엔드 개발환경
      Runtime Execution
      쿼티
      details marker 제거
      능동적 태도
      version specifications
      개발자 도구 활용
      브라우저 렌더링
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    optimy
    [JS] Lexical Grammar, Language Element
    상단으로

    티스토리툴바