function a() {
  var b = ["b"];
  console.log(b);
  //console.log(b.slice());
  b = b.push("bb"); 
}
a();
В "идеальном" мире вы можете подумать, что console.log будет показывать ["b"], но, как ни странно, он показывает ["b", "bb"], хотя "bb" не нажимается до тех пор, пока впоследствии.
Если вы сделаете console.log(b.slice()); Затем вы получите желаемый результат ["b"]. Почему это? Какая причина этого осложнения? Я просто хочу понять это лучше, чтобы я мог избежать этого.
* Примечание. Я затронул эту точку в недавнем вопросе, но это гораздо более краткий пример. @RightSaidFred привел меня к этому моменту и оказал огромную помощь до сих пор.
