2016-08-05 57 views
3

什麼之間的區別聲明類變量之間的區別:打字稿:使用私有,公共和什麼

A. 
class foo { 
    bar: string; 
} 

B. 
class foo { 
    private bar: string; 
} 

C. 
class foo { 
    public bar: string; 
} 

顯然我能用來訪問「酒吧」在所有三種情況如下:

var temp = new foo(); 
temp.bar = 'abc'; 

回答

3

bar: string相當於public bar: string的100%。默認的輔助功能修飾符是public

private只是編譯時隱私;沒有運行時強制執行此操作,並且無論訪問修飾符如何,發出的代碼都是相同的。嘗試從課堂外訪問屬性時,您會看到TypeScript中的錯誤。

你也可以說protected,這就像private除了派生類也可以訪問該成員。同樣,這裏發出的JavaScript沒有區別。

+0

如何在webstorm中看不到任何錯誤消息。這是否需要特殊配置? – runtimeZero