typescript 这个参数是什么意思

image.png

...args: string[]
这个意思是参数传数组还是字符串, string[]限定的是args还是...args,
我现在传数组报错,传多个字符串也报错,谢谢

阅读 2.7k
2 个回答

说了不知道你能不能理解,有点乱。
这是用来检查你的TypeScript语法是否符合TypeScript的TypeScript声明。

declare type Demo = (a: Date) => number; // 要求有一个函数,这个函数接受一个Date对象作为参数,并返回数值
let a: Demo = (a) => 5; // a是这个符合要求的函数
a(new Date()); // 那么a的第一个参数必须是Date对象
// let b = new Date();
// a(b); 一样的

以上的例子说明了开发者的实际使用用例,那么问题来了,TypeScript怎么去检查
declare type Demo = (a: Date) => number;
这句话本身的语法问题呢(就是如何知道Date是一个有效的类型定义)?其实就是怎么用TypeScript去解释es5/es6等代码规范的问题。所以,你也是在typescript源码里看到这种声明的原因。

哦,补充一下。你截屏的代码是用来描述JS本身特性的,这部分本身也可以看出来,集中定义了Function,CallableFunction,NewableFunction。读一读挺好,但是需要先知道这段代码的用途再去分析。

这里的"..."是Rest Parameters,参见文档:https://developer.mozilla.org...
就表示args这个形参会代替实际的一组实参数,可以看文档里的例子
所以说":string[]"是针对args的类型声明,希望形参收集一大堆字符串,也就表达了这个函数接受不定个数的参数,且每个参数应当是字符串。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题