javascript - Je ne comprends pas très bien ce que signifie la forme des paramètres de fonction
为情所困
为情所困 2017-07-05 10:47:09
0
2
887

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 !

为情所困
为情所困

répondre à tous(2)
大家讲道理

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.
Icibase:?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

  1. base:?string 不是 TypeScript 语法,base?: String est

  2. fallback 不是可选参数,但 TypeScript 中不允许非可选参数放在可选参数(base?) derrière

Je vous suggère de me donner des informations plus détaillées

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal