class Animal {
private name:string;
public Firstname:string;
constructor(theName: string)
{
this.name = theName;
this.Firstname=theName;
}
}
class Tiger {
function sample(){
Animal animalName=new Animal('Tiger');
document.body.innerHTML = animalName.name;
}
sample();
}
您好,我是这个 TypeScript 的新手,在动物类中我创建了一个私有变量名,并在类构造函数中使用了它。现在正在上课Tiger
我创建了实例Animal
类并能够访问该私有变量。
我的问题是在Java中如果我们这样做我们会得到错误。但在 TypeScript 中(因为 TypeScript 支持 OOPS),我们没有收到任何错误,而且它给出了值,这怎么可能呢?
首先 - 你的代码将无法编译。 TypeScript 将检查名称的可访问性并给出错误。在打字稿游乐场检查一下自己:操场 http://www.typescriptlang.org/Playground
其次 - 如果您删除打字稿检查,则可以访问私有属性,例如:
console.log((<any>animalName).name)
这是因为 JavaScript 本身没有私有属性的概念。当 TypeScript 被编译为 JavaScript 时,你就有了这样的可能性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)