prototype - javascript concat using call method -


i'm trying concat 2 arrays in javascript using concat() method. i'm wondering difference between these 2 cases

var = [1, 2, 3]; console.log(array.prototype.concat.call(a, [4, 5, 6])); // result: [1, 2, 3, 4, 5, 6]  console.log(array.prototype.concat(a, [4, 5, 6])); // result: [1, 2, 3, 4, 5, 6] 

i thought using call method, passing in this object first argument, change array a. didn't.

array.prototype.concat.call(a, [4, 5, 6])

is equivalent a.concat([4, 5, 6]) (assuming a.concat === array.prototype.concat, case in example a instanceof array).

array.prototype.concat(a, [4, 5, 6])

is equivalent array.prototype.concat.call(array.prototype, a, [4, 5, 6]).

given array.prototype empty array, both yield same result. [].concat(a, [4, 5, 6]) or array.prototype.concat.call([], a, [4, 5, 6]) well.


Comments

Popular posts from this blog

java - nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet Hibernate+SpringMVC -

sql - Postgresql tables exists, but getting "relation does not exist" when querying -

asp.net mvc - breakpoint on javascript in CSHTML? -