Der Inhalt dieses Artikels befasst sich mit der Codeerklärung der verbleibenden Parameter in ES6. Ich hoffe, dass er für Freunde hilfreich ist.
Die übrigen Parameter aggregieren Parameter ohne entsprechende formale Parameter in einem Array
function(a, b, ...theArgs) { }
Die übrigen Parameter aggregieren nur Parameter ohne entsprechende formale Parameter in einem Array, während arguments
alle Parameter enthält.
function add(a, b, ...theArgs) { return {rest: theArgs, arguments} } add() // {rest: [undefined, undefined, []], arguments: Arguments(0)} add(1) // {rest: [1, undefined, []], arguments: Arguments(1)} add(1, 2) // {rest: [1, 2, []], arguments: Arguments(2)} add(1, 2, 3, 4, 5) // {rest: [1, 2, [3, 4, 5]], arguments: Arguments(5)}
Die restlichen Parameter sind immer ein Array, im Gegensatz zu arguments
, das ein Pseudo-Array ist
function add(...theArgs) { console.log(Array.isArray(theArgs)) theArgs.forEach((a)=>console.log(a)) console.log(Array.isArray(arguments)) Array.prototype.slice.call(arguments, add.length).forEach((a)=>console.log(a)) // 转化成数组 } add(1,2,3) // true 1 2 3 false 1, 2, 3, 4
function add(...[a, b, c]){ return a + b +c } add(1, 2, 3) // 6 add(1, 2, 3) // 6
babel
, um function add(...num){ return num.reduce((n1,n2)=>n1+n2) }
nach der Übersetzung
function add() { for (var _len = arguments.length, num = Array(_len), _key = 0; _key < _len; _key++) { num[_key] = arguments[_key]; } return num.reduce(function (n1, n2) { return n1 + n2; }); }
Das obige ist der detaillierte Inhalt vonBeispielerklärung der verbleibenden Parameter in ES6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!