Understanding "public" / "private" in typescript class : <p>In the below type script code , irrespective of whether name is "public" or
"private" , java script code that is generated is same.</p>

<p>So my question is, how to decide when the constructor parameter should be
public or private ? </p>

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

}

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