curriculum/challenges/english/blocks/es6/587d7b88367417b2b2512b44.md
Just like a regular function, you can pass arguments into an arrow function.
const doubler = (item) => item * 2;
doubler(4);
doubler(4) would return the value 8.
If an arrow function has a single parameter, the parentheses enclosing the parameter may be omitted.
const doubler = item => item * 2;
It is possible to pass more than one argument into an arrow function.
const multiplier = (item, multi) => item * multi;
multiplier(4, 2);
multiplier(4, 2) would return the value 8.
Rewrite the myConcat function which appends contents of arr2 to arr1 so that the function uses arrow function syntax.
You should replace the var keyword.
assert.notMatch(code, /var/g);
myConcat should be a constant variable (by using const).
assert.match(code, /const\s+myConcat/g);
myConcat should be an arrow function with two parameters
assert(
/myConcat=\(\w+,\w+\)=>/.test(__helpers.removeJSComments(code).replace(/\s/g, '')) &&
typeof myConcat === 'function'
);
myConcat() should return [1, 2, 3, 4, 5].
assert.deepEqual(myConcat([1, 2], [3, 4, 5]), [1, 2, 3, 4, 5]);
The function keyword should not be used.
assert.notMatch(code, /function/g);
var myConcat = function(arr1, arr2) {
return arr1.concat(arr2);
};
console.log(myConcat([1, 2], [3, 4, 5]));
const myConcat = (arr1, arr2) => {
return arr1.concat(arr2);
};
console.log(myConcat([1, 2], [3, 4, 5]));