Programming Languages
Home / Programming Languages
API 사용법보다 언어 기능이 만들어진 이유와 실행 시의 동작을 이해하기 위한 기록입니다.
다루는 주제
JavaScript · TypeScript · Python · Runtime · Type System
글 목록
- 10장 객체 리터럴
- 11장 원시 값과 객체의 비교
- 12장 함수
- 13장 스코프
- 14장 전역 변수의 문제점
- 15장 let,const 키워드와 블록레벨스코프
- 16장 프로퍼티 어트리뷰트
- 17장 생성자 함수에 의한 객체 생성
- 18장 함수와 일급 객체
- 19장 프로토타입
- 20장 strict mode
- 21장 빌트인 객체
- 22장 this
- 23장 실행 컨텍스트
- 24장 클로저
- 25장 클래스
- 26장 ES6 함수의 추가 기능
- 27장 배열
- 28장 Number
- 29장 Math
- 30장 Date
- 31장 RegExp
- 32장 String
- 33장 7번째 데이터 타입 Symbol
- 34장 이터러블
- 35장 스프레드 문법
- 36장 디스트럭처링 할당
- 37장 Set과 Map
- 38장 브라우저의 렌더링 과정
- 39장 DOM
- 40장 이벤트
- 41장 타이머
- 42장 비동기 프로그래밍
- 43장 Ajax
- 44장 REST API
- 45장 프로미스
- 46장 제너레이터와 asyncawait
- 47장 에러처리
- 48장 모듈
- 49장 Babel과 Webpack
- 4장 변수
- 5장 표현식과 문
- 6장 데이터 타입
- 7장 연산자
- 9장 타입 변환과 단축 평가
- 마이크로태스크와 매크로태스크의 실행 순서
- 백그라운드에서의 setInterval
- 부동소수점 오차를 금액 계산에서 피하는 방법
- 비동기 작업의 동시성을 제한하는 간단한 패턴
- 얕은 복사와 깊은 복사를 구분해야 하는 이유
- 유니온 타입을 안전하게 좁히는 판별 필드 패턴
- 전역 심벌과 로컬 심벌
- 타입 단언보다 타입 가드를 먼저 써야 하는 이유
- AbortController로 오래 걸리는 비동기 작업 취소하기
- Array.from
- CommonJS와 ESM을 함께 사용할 때 생기는 경계 문제
- JavaScript 클로저가 상태를 보존하는 원리
- JS toFixed에 대해서
- localStorage와 sessionStorage
- Map과 Object를 선택하는 실용적인 기준
- MJS Deep dive 정리
- never 타입으로 빠진 분기를 컴파일 시점에 찾기
- Number vs parseInt vs +
- Object.prototype를 상속받지 않는 객체
- Promise.all이 항상 빠른 선택은 아닌 이유
- python heapq 모듈
- python stdin
- Set으로 중복을 제거할 때 객체가 남는 이유
- setTimeout setImmediate process.nextTick 실행 순서 정리
- TypeScript 제네릭으로 타입 관계를 보존하는 방법
- TypeScript unknown과 any의 차이를 경계 코드로 이해하기
- Web Worker