有什么区别:
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';
Ryan Cavanau.. 5
bar: string
是100%相当于public bar: string
.默认的辅助功能修饰符是public
.
private
只是编译时隐私; 没有运行时强制执行此操作,无论访问修饰符如何,发出的代码都是相同的.尝试从类外部访问属性时,您会看到TypeScript中的错误.
您也可以说protected
,private
除了派生类也可以访问该成员之外.同样,这里发出的JavaScript没有区别.
bar: string
是100%相当于public bar: string
.默认的辅助功能修饰符是public
.
private
只是编译时隐私; 没有运行时强制执行此操作,无论访问修饰符如何,发出的代码都是相同的.尝试从类外部访问属性时,您会看到TypeScript中的错误.
您也可以说protected
,private
除了派生类也可以访问该成员之外.同样,这里发出的JavaScript没有区别.