Javascript: typeof says “function” but it can't be called as a function
问题 I'm really puzzled with Javascript this time: var x = Array.prototype.concat.call; typeof x; // function x(); // Uncaught TypeError: x is not a function What on earth is going on here? If it helps, I also noticed: x([1,2],[3,4]) does not work either toString also thinks it's a function: Object.prototype.toString.call(x); // "[object Function]" This also happens with Array.prototype.concat.apply . When it is forced as an expression it also does not work: (0, Array.prototype.concat.call)([1,2],