有什么区别:
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';
最佳答案
bar: string
为100%,相当于public bar: string
。默认的辅助功能修改器是public
。private
仅为编译时隐私;没有运行时强制执行,发射代码与访问修饰符无关。尝试从类外部访问属性时,将看到typescript中的错误。
您也可以说protected
,这类似于private
,只是派生类也可以访问该成员。同样,这里发出的javascript没有区别。