This is correct. Concat isn't modifying the array like you expect it to.
When you:
a.concat("b","c");
It returns an array of ["a","b","c"], but you aren't saving the reference (which you would do like this)
a = a.concat("b","c");
Some info from the MDN:
concat does not alter this or any of the arrays provided as arguments but instead returns a shallow copy that contains copies of the same elements combined from the original arrays.