What do you think that should do in filter? Because afaics even if it worked the way I think you think it works, it still doesn’t quite make sense - one of arr1 or arr2 will always include the item, so you’d get false, and an empty array, every time.
Note that the comma operator does evaluate both statements, but only returns the right hand one. The left hand statement is
item => (!arr1.includes(item)) the right hand one is
item is not something that’s defined for the right hand one, only the left hand one, so you get a reference error:
'item is not defined'. Note also that I’ve never ever seen the comma operator used outside of golf code, take from that what you may.