Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript中不带省略号的动态参数_Typescript - Fatal编程技术网

Typescript中不带省略号的动态参数

Typescript中不带省略号的动态参数,typescript,Typescript,我已经测试了上面的代码。它很好用 那么我们为什么需要省略号呢? 发件人: 编译器将构建一个传入的参数数组,其名称在省略号(…)后面,允许您在函数中使用它 如果我理解你的问题,你是在比较两个不同的东西。以下两个示例将以相同的显示结束,但调用方式不同 事实上,这些是两个不同的概念(语法);两者都有不同的用例 function buildName(firstName: string, ...restOfName: string[]) { return firstName + " " + res

我已经测试了上面的代码。它很好用

那么我们为什么需要省略号呢?

发件人:

编译器将构建一个传入的参数数组,其名称在省略号(…)后面,允许您在函数中使用它


如果我理解你的问题,你是在比较两个不同的东西。以下两个示例将以相同的显示结束,但调用方式不同

事实上,这些是两个不同的概念(语法);两者都有不同的用例

function buildName(firstName: string, ...restOfName: string[]) {
    return firstName + " " + restOfName.join(" ");
}


最好使用省略号的示例:

  // Function definition:
  lm( vv: number, ...kk: string[] )
  {
    console.log( kk )
  }

  // Calling
  this.lm( 33, "dd","ff","da" )

我认为两者都是相同的,但是rest是可选的,为了使您的示例完全相同,您应该提供等于空数组的默认值。谢谢。你能指出一个很好的Typescript文档吗?对于文档,我在谷歌
Typescript[SUBJECT]
上浏览文章。持有大量的物品。对不起,我没有你的特定网址。
  // Function definition:
  lm( vv: number, kk: string[] )
  {
    console.log( kk )
  }

  // Calling
  this.lm( 33, ["dd","ff","da"] )
  // Function definition:
  lm( vv: number, ...kk: string[] )
  {
    console.log( kk )
  }

  // Calling
  this.lm( 33, "dd","ff","da" )
type funcDefinition = (commandName: number, ...params: string[]) => void;

const funcA: funcDefinition = (vv: number, p1: string = 'defA', p2: string = 'defB', ...othersParams: string[]) => {
  console.log(vv, p1, p2, othersParams);
}

const funcB: funcDefinition = (vv: number, p1: string, ...othersParams: string[]) => {
  console.log(vv, p1, othersParams);
}

const funcC: funcDefinition = (vv: number, ...othersParams: string[]) => {
  console.log(vv, othersParams);
}