This is standard TypeScript behavior. For most types of errors, the TypeScript compiler still generates a JavaScript file. (It does return a non-zero exit code that build scripts can detect and act on.)

Try out some other types of errors, like mistyped variable names:

var abc: number = 5;
console.log(abd);

and you'll see the same thing happen.

Edit: oh, and there is a compiler flag to change this behavior. Using: