Comprender "público" / "privado" en la clase de mecanografía

En el código de script de tipo siguiente, independientemente de si el nombre es "público" o "privado", el código de script de Java que se genera es el mismo.

Entonces mi pregunta es, ¿cómo decidir cuándo el parámetro constructor debe ser público o privado?

// typescript code
class Animal {  
constructor( public name: string) {     
}

}

// generated JS code
var Animal = (function () {
function Animal(name) {
    this.name = name;
}
return Animal;
}());

Respuestas a la pregunta(2)

Su respuesta a la pregunta