classe d'exportation HashHistory étend l'historique {
constructeur (router : VueRouter, base : ?string, repli : boolean) {
// 调用基类构造器
super(router, base)
}
Que signifie le format de paire clé-valeur dans les paramètres du constructeur dans le code ci-dessus lors de l'écriture, et que signifie le "?" ici dans "base: ? string" ? Pourriez-vous s'il vous plaît me donner quelques conseils, merci !
Ce n'est pas la syntaxe ES6, mais une contrainte de type ajoutée par flow.js.
flow est un vérificateur de type statique créé par Facebook, qui est utilisé pour spécifier des types de variables dans le code js. Dans les grands projets JS, les types statiques peuvent vérifier de nombreuses erreurs à l'avance.
Ici
base:?string
指的是base这个形参的传入需要是一个?string
类型,?string
est un type peut-être, ce qui signifie que vous pouvez transmettre une chaîne, nulle ou indéfinie, mais s'il s'agit d'autres types, une erreur se produira.Les projets officiels de Vue ajoutent tous des contraintes de type de flux.
Le site officiel de flow.js est ici https://flow.org/en/docs/gett...
Ce n'est évidemment pas la syntaxe d'ES6. Le type n'existe pas dans ES6. Cela ressemble plus à la syntaxe de TypeScript. Le côté gauche des deux points est le nom du paramètre et le côté droit est le type du paramètre. indique des paramètres facultatifs, mais s'il s'agit de TypeScript, il y a deux problèmes grammaticaux ici
base:?string
不是 TypeScript 语法,base?: String
estfallback
不是可选参数,但 TypeScript 中不允许非可选参数放在可选参数(base?
) derrièreJe vous suggère de me donner des informations plus détaillées