84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
export class HashHistory extends History { constructor (router: VueRouter, base: ?string, fallback: boolean) {
// 调用基类构造器 super(router, base)
}
以上這段程式碼中constructor的參數中鍵值對的形式編寫時什麼意思,其中"base: ? string "這裡的「?」又是什麼意思,勞煩大家指點一二,謝謝!
這個不是ES6的語法,而是用flow.js加上的型別約束。 flow是facebook做的靜態類型檢查器,用於在js程式碼裡指定變數類型,在大型JS專案裡靜態類型可以事先檢查很多錯誤。 這裡面base:?string指的是base這個形參的傳入需要是一個?string類型,?string是一個maybe type,意思是可以傳入string,null或者undefined,但如果是一個maybe type,意思是可以傳入string,null或者undefined,但如果是一個maybe type,意思是可以傳入string,null或者undefined,但如果是其他類型就會出錯。
base:?string
?string
vue官方的專案都加了flow的類型限制。
flow.js的官網在這 https://flow.org/en/docs/gett...
這個明顯不是ES6 的語法,ES6 裡不會有類型一說,這看起來比較像是TypeScript 的語法,冒號左邊是參數名,右邊是參數類型,問題表示可選參數,但如果說是TypeScript,這裡有兩個文法問題
base:?string 不是 TypeScript 語法,base?: String 是
base?: String
fallback 不是可選參數,但 TypeScript 中不允許非可選參數放在可選參數(base?)的後面
fallback
base?
建議你給點更詳細的資訊
這個不是ES6的語法,而是用flow.js加上的型別約束。
flow是facebook做的靜態類型檢查器,用於在js程式碼裡指定變數類型,在大型JS專案裡靜態類型可以事先檢查很多錯誤。
這裡面
base:?string
指的是base這個形參的傳入需要是一個?string
類型,?string
是一個maybe type,意思是可以傳入string,null或者undefined,但如果是一個maybe type,意思是可以傳入string,null或者undefined,但如果是一個maybe type,意思是可以傳入string,null或者undefined,但如果是其他類型就會出錯。vue官方的專案都加了flow的類型限制。
flow.js的官網在這 https://flow.org/en/docs/gett...
這個明顯不是ES6 的語法,ES6 裡不會有類型一說,這看起來比較像是TypeScript 的語法,冒號左邊是參數名,右邊是參數類型,問題表示可選參數,但如果說是TypeScript,這裡有兩個文法問題
base:?string
不是 TypeScript 語法,base?: String
是fallback
不是可選參數,但 TypeScript 中不允許非可選參數放在可選參數(base?
)的後面建議你給點更詳細的資訊