============================================ Numbers ============================================ 04000 400 100n 0xffffffffn 0b00111n 0o1234n 0xa_b_c 0o1_1 0b1_000_000 1_2_3 12_3.4_5e6_7 0b1_000_000n 01 00000123 --- (program (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number)) (expression_statement (number))) ============================================ Unicode identifiers ============================================ const últimaVez = 1 { 県: '大阪府', '': '' } --- (program (lexical_declaration (variable_declarator (identifier) (number))) (expression_statement (object (pair (property_identifier) (string (string_fragment))) (pair (string) (string))))) ========================================== Strings containing comment-like content ========================================== "//ok\n//what" --- (program (expression_statement (string (string_fragment) (escape_sequence) (string_fragment)))) ========================================== Quote escaping ========================================== ""; ''; "\""; "a\"b"; '\''; 'a\'b'; "it's a tiny tiny world"; '"hello"'; --- (program (expression_statement (string)) (expression_statement (string)) (expression_statement (string (escape_sequence))) (expression_statement (string (string_fragment) (escape_sequence) (string_fragment))) (expression_statement (string (escape_sequence))) (expression_statement (string (string_fragment) (escape_sequence) (string_fragment))) (expression_statement (string (string_fragment))) (expression_statement (string (string_fragment)))) ========================================== Line continuations ========================================== "hello\ world"; 'hello\ world'; --- (program (expression_statement (string (string_fragment) (escape_sequence) (string_fragment))) (expression_statement (string (string_fragment) (escape_sequence) (string_fragment)))) ============================================================ Non-standard unescaped newlines legal in TSX attributes ============================================================ "hello world"; 'hello world'; --- (program (expression_statement (string (string_fragment))) (expression_statement (string (string_fragment)))) ========================================================= JSX strings with unescaped newlines for TSX attributes ========================================================= ; ; --- (program (expression_statement (jsx_element (jsx_opening_element (identifier) (jsx_attribute (property_identifier) (string (string_fragment)))) (jsx_closing_element (identifier)))) (expression_statement (jsx_element (jsx_opening_element (identifier) (jsx_attribute (property_identifier) (string (string_fragment)))) (jsx_closing_element (identifier)))))