Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – Ich verstehe nicht ganz, was die Form von Funktionsparametern bedeutet

export-Klasse HashHistory erweitert den Verlauf {
Konstruktor (Router: VueRouter, Basis: ?String, Fallback: Boolean) {

// 调用基类构造器
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?

为情所困为情所困2686 Tage vor877

Antworte allen(2)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-07-05 10:49:09

    这个不是ES6的语法,而是用flow.js加上的类型约束。
    flow是facebook做的一款静态类型检查器,用于在js代码里指定变量类型,在大型JS项目里静态类型可以提前检查很多错误。
    这里面base:?string指的是base这个形参的传入需要是一个?string类型,?string是一个maybe type,意思是可以传入string,null或者 undefined,但如果是其他类型就会出错。

    vue官方的项目都加了flow的类型约束。

    flow.js的官网在这 https://flow.org/en/docs/gett...

    Antwort
    0
  • 淡淡烟草味

    淡淡烟草味2017-07-05 10:49:09

    这个明显不是 ES6 的语法,ES6 里不会有类型一说,这看起来比较像是 TypeScript 的语法,冒号左边是参数名,右边是参数类型,问题表示可选参数,但如果说是 TypeScript,这里有两个语法问题

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

    2. fallback 不是可选参数,但 TypeScript 中不允许非可选参数放在可选参数(base?)的后面

    建议你给点更详细的信息

    Antwort
    0
  • StornierenAntwort