¿Por qué puedo acceder a los miembros privados de TypeScript cuando no debería poder hacerlo?

Estoy considerando la implementación de miembros privados en TypeScript, y me parece un poco confuso. Intellisense no permite acceder a miembros privados, pero en JavaScript puro, está todo allí. Esto me hace pensar que TS no implementa miembros privados correctamente. ¿Alguna idea?

class Test{
  private member: any = "private member";
}
alert(new Test().member);

Respuestas a la pregunta(3)

Su respuesta a la pregunta