Ich kann das Erweiterungszeichen für das Kopieren von Arrays verstehen, aber ich verstehe nicht das, das zum Übergeben von Parametern an Funktionen verwendet wird
Wie oben: Warum können Funktionsparameter nach dem Hinzufügen des Erweiterungsoperators mehrere Parameter akzeptieren?
fn(...arg)要怎么理解
函数定义的时候, 这应该叫剩余参数.
看 MDN 详细解释:
https://developer.mozilla.org...
你可以先看一下这个栗子
这里的...arg其实是获取arguments的值,所以你方法可以改写成这样
把arguments转换成数组
官方解释:
用在函数参数中,就是将此处开始的参数转换成一个数组。
函数的形参本来就会保存到argument这个类数组里边,...操作符可以把类数组转成数组
你需要ECMAScript 6 入门
你可以理解为,
fn(...arg) 是将参数的参数,全部放置在arg这个数组里.不管你调这函数时,传多少个参数,都可以由arg来获取.
函数参数可以通过arguments这个类数组对象获得,你传入的任意多参数本质上在函数内部就是以类数组对象存在的,所以加上扩展运算符,只是把这个类数组变成了参数序列