gpt4 book ai didi

javascript - 简单的 JS 数组 `concat` 说明

转载 作者:搜寻专家 更新时间:2023-11-01 05:03:18 25 4
gpt4 key购买 nike

我了解 concat 方法的工作原理,但我对 MDN docs 中的一行有疑问.

它说:

The concat methods 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.


我的问题是,它怎么可能可能改变this?它是说参数数组可能会丢失它们的 this 但它会保留它,因为它只是创建一个新数组?

最佳答案

在调用a.concat(b, c)时,被调用的函数是a.concatthis值为a,参数为bc。 MDN 所说的是数组 a 不会被该调用更改——例如,与 a.push(x) 不同。

const arr = [1, 2, 3];

arr.concat([4, 5]);
console.log(arr.join(', '));
// the “this” array in the call `arr.concat([4, 5])` didn’t change

arr.push(6);
console.log(arr.join(', '));
// the “this” array in the call `arr.push(6)` changed

关于javascript - 简单的 JS 数组 `concat` 说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52031222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com