일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- colemak
- 구현 패턴
- static 키워드
- 절차 지향과 객체 지향
- 자소 단위 삭제 해제
- 탭 관리 프로그램
- 쿼티
- 글자 단위 삭제
- 콜맥
- Runtime Execution
- 복사한것을파일로
- super 메소드
- 이벤트 위임
- details marker 제거
- 창 그룹화
- 영수증 가계부
- 글자 지우기
- 브라우저 렌더링
- 날개셋 한글 입력기
- 개발자 도구 활용
- olkb
- Paste Into File
- ortholinear
- version specifications
- JavaScript
- 프론트엔드 개발환경
- 오버로딩과 오버라이딩
- State Control
- Sync & Async
- 프리오닉
Archives
- Today
- Total
What got you here won't get you there
[JS] Lexical Grammar, Language Element 본문
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 식별자
대부분 변수. 기본형, 참조형 / 변수, 상수
Comments