export-Klasse HashHistory erweitert den Verlauf {
Konstruktor (Router: VueRouter, Basis: ?String, Fallback: Boolean) {
// 調(diào)用基類構(gòu)造器
super(router, base)
}
Was bedeutet das Schlüssel-Wert-Paarformat in den Konstruktorparametern im obigen Code und was bedeutet das ??“ hier in ?base: ? string“? K?nnten Sie mir bitte einen Rat geben, danke?
這個不是ES6的語法,而是用flow.js加上的類型約束。
flow是facebook做的一款靜態(tài)類型檢查器,用于在js代碼里指定變量類型,在大型JS項目里靜態(tài)類型可以提前檢查很多錯誤。
這里面base:?string
指的是base這個形參的傳入需要是一個?string
類型,?string
是一個maybe type,意思是可以傳入string,null或者 undefined,但如果是其他類型就會出錯。
vue官方的項目都加了flow的類型約束。
flow.js的官網(wǎng)在這 https://flow.org/en/docs/gett...
這個明顯不是 ES6 的語法,ES6 里不會有類型一說,這看起來比較像是 TypeScript 的語法,冒號左邊是參數(shù)名,右邊是參數(shù)類型,問題表示可選參數(shù),但如果說是 TypeScript,這里有兩個語法問題
base:?string
不是 TypeScript 語法,base?: String
才是
fallback
不是可選參數(shù),但 TypeScript 中不允許非可選參數(shù)放在可選參數(shù)(base?
)的后面
建議你給點更詳細(xì)的信息