TypeScript
자바스크립트 대신 타입스크립트 파싱에 도전하고 싶은가요? 나쁜 소식은 사양이 없다는 것, 좋은 소식은 타입스크립트 파서가 단일 파일이라는 것입니다 🙃.
JSX vs TSX
이 코드,
let foo = <string> bar;
이것이 tsx
(마무리되지 않는 JSX)라면 구문 오류입니다,
그러나 이것이 TSTypeAssertion
사용한 VariableDeclaration
라면 옳은 표현입니다.
Lookahead
특정 위치에서는 파서가 올바른 문법을 결정하기 위해 두 개 이상의 토큰을 미리 살펴봐야 합니다.
TSIndexSignature
예를 들어, TSIndexSignature
를 파싱하려면 다음 두 가지 경우를 고려합니다:
type A = { readonly [a: number]: string }
^__________________________^ TSIndexSignature
type B = { [a]: string }
^_________^ TSPropertySignature