有什么区别:
A.
class foo {
bar: string;
}
B.
class foo {
private bar: string;
}
C.
class foo {
public bar: string;
}
显然我可以使用以下方法在所有三种情况下访问“bar”:
var temp = new foo();
temp.bar = 'abc';
答案 0 :(得分:5)
bar: string
100%相当于public bar: string
。默认辅助功能修饰符为public
。
private
仅限编译时隐私;没有运行时强制执行此操作,无论访问修饰符如何,发出的代码都是相同的。尝试从类外部访问该属性时,您会看到TypeScript中的错误。
您也可以说protected
,类似于private
,但派生类也可以访问该成员。同样,这里发出的JavaScript没有区别。