解构方式都会报错有几种

40 阅读1分钟

以下几种解构方式都会报错

  • let [foo] = 1;
  • let [foo] = false;
  • let [foo] = NaN;
  • let [foo] = undefined;
  • let [foo] = null;
  • let [foo] = {};

前五个是因为将等号右边的值转成对象后不具备 Iterator 接口
最后一个是本身就不具备 Iterator 接口

原生具备 Iterator 接口的数据结构如下。
Array
Map
Set
String
TypedArray
函数的 arguments 对象
NodeList 对象