1 element variables
2 tag
3 ast
4 category
5 item
6 title Boolean
7 expected
8 + let isDone: boolean = false;
9 ittf
10 let isDone
11 :boolean
12 := false
13 item
14 title Number
15 expected
16 + let decimal: number = 6;
17 ittf
18 let decimal
19 :number
20 := 6
21 item
22 title String
23 expected
24 + let color: string = "blue";
25 ittf
26 let color
27 :string
28 := "blue"
29 item
30 title String literal 1
31 expected
32 + let fullName: string = `Bob Bobbington`;
33 ittf
34 let fullName
35 :string
36 template
37 + Bob Bobbington
38 item
39 title String literal 2
40 expected
41 + let sentence: string = `Hello, my name is ${fullName}`;
42 ittf
43 let sentence
44 :string
45 template
46 + Hello, my name is${}
47 @ fullName
48 +
49 item
50 title String literal 3
51 expected
52 + let sentence: string = "Hello, my name is " + fullName + ".\n\n" + "I'll be " + (age + 1) + " years old next month.";
53 ittf
54 let sentence
55 :string
56 set "Hello, my name is " + fullName + ".\n\n" + "I'll be " + (age + 1) + " years old next month."
57 item
58 title Array 1
59 expected
60 + let list: number[] = [1, 2, 3];
61 ittf
62 let list
63 :[
64 :number
65 [
66 @ 1
67 @ 2
68 @ 3
69 item
70 title Array 2
71 expected
72 + let list: Array<number> = [1, 2, 3];
73 ittf
74 let list
75 :ref Array
76 :param number
77 [
78 @ 1
79 @ 2
80 @ 3
81 item
82 title Tuple
83 expected
84 + let x: [string, number];
85 ittf
86 let x
87 :tuple
88 :string
89 :number
90 item
91 title Enum
92 expected
93 + enum Color { Red, Green, Blue }
94 + let c: Color = Color.Green;
95 + enum Color { Red = 1, Green, Blue }
96 + let c: Color = Color.Green;
97 + enum Color { Red = 1, Green = 2, Blue = 4 }
98 + let c: Color = Color.Green;
99 + enum Color { Red = 1, Green, Blue }
100 + let colorName: string = Color[2];
101 ittf
102 +
103 :enum Color
104 @ Red
105 @ Green
106 @ Blue
107 let c
108 :ref Color
109 := Color.Green
110 :enum Color
111 @ Red 1
112 @ Green
113 @ Blue
114 let c
115 :ref Color
116 := Color.Green
117 :enum Color
118 @ Red 1
119 @ Green 2
120 @ Blue 4
121 let c
122 :ref Color
123 := Color.Green
124 :enum Color
125 @ Red 1
126 @ Green
127 @ Blue
128 let colorName
129 :string
130 := Color[2]
131 item
132 title Any, Void, Null, Undefined
133 expected
134 + let notSure: any = 4;
135 + notSure = "maybe a string instead";
136 + notSure = false; // okay, definitely a boolean
137 + let notSure: any = 4;
138 + notSure.ifItExists(); // okay, ifItExists might exist at runtime
139 + notSure.toFixed(); // okay, toFixed exists (but the compiler doesn't check)
140 + let prettySure: Object = 4;
141 + prettySure.toFixed(); // Error: Property 'toFixed' doesn't exist on type 'Object'.
142 + let list: any[] = [1, true, "free"];
143 + list[1] = 100;
144 + function warnUser(): void {
145 + console.log("This is my warning message");
146 + }
147 + let unusable: void = undefined;
148 + let u: undefined = undefined;
149 + let n: null = null;
150 ittf
151 +
152 let notSure
153 :any
154 := 4
155 set notSure = "maybe a string instead"
156 set notSure = false
157 let notSure
158 :any
159 := 4
160 _ notSure.ifItExists
161 _ notSure.toFixed
162 let prettySure
163 :ref Object
164 := 4
165 _ prettySure.toFixed
166 let list
167 :[
168 :any
169 [
170 @ 1
171 @ true
172 @ "free"
173 set list[1] = 100
174 function warnUser
175 :return
176 :void
177 _ console.log("This is my warning message")
178 let unusable
179 :void
180 := undefined
181 let u
182 :void
183 := undefined
184 let n
185 :null
186 := null
187 item
188 title Never
189 expected
190 + function error(message: string): never {
191 + throw new Error(message);
192 + }
193 + function fail() {
194 + return error("Something failed");
195 + }
196 + function infiniteLoop(): never {
197 + while (true) {
198 + }
199 + }
200 ittf
201 +
202 function error
203 param message
204 :string
205 :return
206 :never
207 throw new Error(message)
208 function fail
209 return error("Something failed")
210 function infiniteLoop
211 :return
212 :never
213 while true
214 item
215 title Object
216 expected
217 + declare function create(o: object | null): void;
218 + let strLength: number = (someValue as string).length;
219 ittf
220 +
221 :function create
222 param o
223 :union
224 :object
225 :null
226 :return
227 :void
228 let strLength
229 :number
230 :=
231 ()
232 @id someValue
233 :as
234 :string
235 . length