자바스크립트 개인 독스
구글 크롬 개발자 콘솔 기준 출력.
현재 문서 이름을 바꾸는 중이니, 링크 오류가 난다면 TOC에서 관련 문서를 찾아주세요.
- 01. Introduction: 자바스크립트의 역사와 특징에 대하여
- 02. JavaScript Runtime: 자바스크립트 개발 환경과 자바스크립트 실행하기
- Lexical Grammar: 자바스크립트의 어휘적 분석
- 03. Variable and Constant: 식별자, 변수, 상수
- 04. Expression and Statement: 표현식과 문
- 05. Data Types: 동적 타이핑, 자바스크립트의 데이터 타입
- 06. Literals: 리터럴의 종류
- 07. Type Conversion: 자바스크립트의 형 변환
- 원시 값을 원시 값 혹은 객체로 변환하기
- Conversion Object to Primitive Value: 객체를 원시 값으로 변환하기
- 08. Operator: 자바스크립트의 연산자
- Optional Chaning: 자바스크립트의 옵셔널 체이닝
- Nullish Coalescing: 자바스크립트의 널 병합 연산
- 09. Control flow: block statement와 if, switch statement
- 10. Loop and Iteration: for/while statement와 jump statement
- 11. Objects: 자바스크립트의 객체
- Object Initializer: 객체 리터럴로 객체 생성하기
- Constructor Function: 생성자 함수로 객체 생성하기
- Internal Slot and Internal Method: 내부 슬롯과 내부 메서드
- Property Attributes: 프로퍼티 어트리뷰트
- Standard Built-in Objects: 표준 내장 객체
- 12. Functions: 자바스크립트의 함수
- Call by Sharing: 자바스크립트의 평가 전략
- Arrow Function: 화살표 함수
- 15. Prototype and Inheritance: 프로토타입 기반 언어 자바스크립트에서 상속은 어떻게 이루어지는가
- 16. Asynchronous JavaScript
- Ajax: Ajax
- Timer: 호출 스케줄링을 위한
setTimeout
과setInterval
호스트 객체 - Promise: 비동기 처리를 위한 자바스크립트의 프로미스 객체
- async and await: ES6의 async, await
- this: 키워드 this
- 실행가능한 코드의 평가와 실행
- Environment Record: 환경 레코드란 무엇인가
- Execution Context: 실행 컨텍스트란 무엇인가
- Closure: 클로저
- Class: 클래스
- Iteration Protocol: 이터러블 프로토콜과 이터레이터 프로콜
- Generator: 제너레이터
- Destructuring assignment
- Strict Mode: 자바스크립트의 엄격 모드
- Module: 자바스크립트의 모듈 시스템
- ECMAScript Module: 네이티브 자바스크립트 모듈 시스템, ECMAScript Module
- Basics of Dependency Management: 패키지 매니저 기초
- Exception handling
문서 개편 필요
- Function: Function 객체의 명세
- Agent: 에이전트란 무엇인가
- 13. Indexed collections: 자바스크립트의 배열
- 14. Keyed collections: 자바스크립트의 맵과 집합
- 모던 자바스크립트 Deep Dive(이용모 저)
- https://tc39.es/ecma262/2023/
- 모던 JavaScript 튜토리얼
- MDN JavaScript
- 제목에서 번호 매긴 거 빼기 혹은 번호 잘 정리하기
- 링크 오류 수정하기
- ECMA발표연도 -> ES*로 바꾸기
- ECMA 연도별로 정리
- 하이퍼링크가 md 파일이면 확장자 명시하기
- Introduction.md
- 브라우저 부분 02.JavaScript Runtime.md로 옮기기
- JavaScript Runtime.md
- 브라우저와 Node.js 런타임으로서의 기능 중심으로 보충하기
- 자바스크립트 엔진
- Variable and Constant 참고 링크 보고 TDZ 섹션 파기
- Lexical Grammar
- 3.5 토큰 - 키워드, 식별자, 리터럴, 구분자 보충
- 06. Literals
- 부동소수점 리터럴 정리하기
- 정규표현식 문서 따로 파기(Regular Expression Literal.md)
- 08. Operator
- 8.5 비트 연산자 보충
- 8.10.3
void
연산자 보충
- 12. Functions.md
- 생성자와 함수 선언 차이
- 제너레이터 함수 분리하기
- The generator function declaration(
function*
문) - The generator function expression(
function*
표현식) - The GeneratorFunction constructor(
GeneratorFunction
생성자)
- The generator function declaration(
- 11. Objects.md
- hidden class (p.147 v8 엔진 동작 상세)
- 내부 슬롯과 내부 메서드 문서 분리하기
- 모든 객체가 가지고 있는 내부 슬롯
- 모든 객체가 가지고 있는 내부 메서드
- 함수 객체가 가지고 있는 내부 슬롯
- 함수 객체가 가지고 있는 내부 메서드
- Objects.md: 모르는 메서드나 프로퍼티 볼 때마다 추가하기
- 생성자 메서드
- 프로토타입 메서드
- 13. Indexed collections.md
- 배열 메서드 따로 문서 만들기
- 14. Keyed collections.md
- 14.1.2 WeakMap 보충
- set 메서드 따로 문서 만들기
- 15. Prototype and Inheritance.md
-
[[Prototype]]
링크 참고 - 15.3.3
hasOwn
과hasOwnProperty
보충 - 15.5.3 생성자의 global information
-
- Destructuring assignment.md
- Destructuring assignment 참고해서 보충
- Object initializer.md
- 얕은 복사, 깊은 복사
- Introduction to ES6
- object.keys, values, entries
- garbage collection
- 프로토타입과 object....property() 메서드들
- web worker
- Timer - requestAnimationFrame() MDN
- 자바스크립트의 예약어 정리
- 코드 블록 js -> javascript
- 참고 형식 통일하고 참고 없으면 참고 찾아서 넣기
- hiden class
- https://medium.com/jspoint/how-javascript-works-in-browser-and-node-ab7d0d09ac2f
- https://medium.com/jspoint
- https://medium.com/sessionstack-blog/how-javascript-works/home
-
Function
생성자를 사용하지 않는 이유 - 느슨한 비교, 엄격한 비교
- 반복문 실행 때마다 실행 컨텍스트 생성됨
- https://jakearchibald.com/2021/export-default-thing-vs-thing-as-default/
- The Node.js Event Loop, Timers, and
process.nextTick()
- Browser Event loop https://youtu.be/cCOL7MC4Pl0
- Node.js Event loop Deep Dive https://youtu.be/KKM_4-uQpow
- JavaScript 엔진 https://youtu.be/p-iiEDtpy6I