A past puzzle — fully playable. 4 attempts, hints on wrong guesses.
stdle-35.ts
1constlog:string[]=[];
2classC{
3statica=log.push('a');
4static{log.push('block');}
5staticb=log.push('b');
6}
7voidC;
8console.log(log.join(','));
Classes
Answer & explanation
Console output
a,block,b
Why
A static block participates in the single top-to-bottom static initialization pass just like static fields; it has no special priority. So the pushes happen strictly in source order: a, then block, then b. This makes static blocks a place to run setup logic between field initializers.