Trailing commas are those commas found at the end of an array list, object, or function arguments. They can be useful when adding new elements, parameters, or properties to JavaScript code. It just makes it a little more convenient for developers that they can choose to write an array as [1,2,3] or [1,2,3,] (notice the comma in the second example)
JavaScript has allowed trailing commas in arrays and objects for a long time. Finally, in ECMAScript 2017 (ES8), the standard now allows you to add trailing commas to function parameters as well.
That means all the following examples are valid JavaScript code:
Arrays:
var arr = [1, 2, 3,,,];
arr.length; // 5
arr[3]; // undefined
var arr2 = [1, 2, 3,];
arr2.length; // 3
The preceding example is clearly valid JavaScript code and arr is created as [1, 2, 3, undefined, undefined]
Let us now explore how objects behave with trailing commas.
Objects:
var book = {
name: "Learning ES8",
chapter: "1",
reader: "awesome", // trailing comma allowed here
};
It can be seen that the code does not throw any error even after putting a comma after the last property name. Let's move on to functions now.
Functions:
function myFunc(arg) {
console.log(arg);
}
function myFunc2(arg,) {
console.log(arg)
}
let myFunc3 = (arg) => {
console.log(arg);
};
let myFunc4 = (arg,) => {
console.log(arg);
}
All the aforementioned function definitions are valid from the ES2017 (ES8) spec.