代码之家  ›  专栏  ›  技术社区  ›  Константин Ван

(const[a,b,c]]]]]在[0,0]中是什么意思;甚至有效?

  •  25
  • Константин Ван  · 技术社区  · 7 年前

    for(const [[[[[fancy, loop]]]]] in [0, 0]) {
      console.log(fancy, loop);
    }
    // Chrome 70.0.3538.77 says:
    // 0 undefined
    // 1 undefined
    

    0 1 [[[[[fancy, loop]]]]] ,即 数组分解 发生了一个错误,不是吗?不管怎样。只是我的想法把我弄糊涂了。

    你能告诉我它是如何有效和工作没有错误吗?我错过了什么?

    2 回复  |  直到 7 年前
        1
  •  26
  •   user2357112    7 年前

    这不是分配 0 1 [[[[[fancy, loop]]]]] . 你把钥匙绕了一圈 [0, 0] in 而不是 of ,这些钥匙是

    "0" 是唯一元素为 "0" 反复开箱 然后得到 "0"

    [fancy, loop] = "0"
    

    在这一点上,最终开箱分配 "0" fancy undefined loop .

        2
  •  4
  •   lleon    7 年前

    你用的是 in of 所以你得到的是数组的属性而不是值。在这种情况下,您将数组索引作为字符串获取( 0 1 ). 基本上每次都是对长度为1的字符串进行解构。所以你总是得到每个迭代属性的第一个字符