javascript - 函数参数的形式不太懂是什么意思
问题描述
export class HashHistory extends History { constructor (router: VueRouter, base: ?string, fallback: boolean) {
// 调用基类构造器super(router, base)
}
以上这段代码中constructor的参数中键值对的形式编写时什么意思,其中'base: ? string '这里的“?”又是什么意思,劳烦大家指点一二,谢谢!
问题解答
回答1:这个不是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...
回答2:这个明显不是 ES6 的语法,ES6 里不会有类型一说,这看起来比较像是 TypeScript 的语法,冒号左边是参数名,右边是参数类型,问题表示可选参数,但如果说是 TypeScript,这里有两个语法问题
base:?string 不是 TypeScript 语法,base?: String 才是
fallback 不是可选参数,但 TypeScript 中不允许非可选参数放在可选参数(base?)的后面
建议你给点更详细的信息
相关文章:
1. debian - docker依赖的aufs-tools源码哪里可以找到啊?2. 用CSS3 box-sizing 属性实现两个并排的容器,如果想让容器中间有间隔该如何实现3. node.js - nodeJS 写入文件的内容怎么不是按次序的?4. docker gitlab 如何git clone?5. javascript - 求一款靠谱点的移动端图片查看器插件,老司机速进!6. oop - Java中,关于匿名内部类调用外部类方法的疑惑7. javascript - angular左右滑动如何切换路由状态,????8. javascript - jquery hide()方法无效9. 这是什么情况???10. python - 用urllib抓取网页上的下载链接,目标文件是xls形式,但发现抓下来的xls是空表,里面只有一句报错信息,求帮助。

网公网安备