/******************* */// Array.from ES2015 ES6// // 返回一个新的数组引用const arr = [1, 2, 3, 4];const newArr = Array.from(arr);// 如果参数是一个带有引用类型元素的数组。// 返回的新数组是一个浅拷贝const arr = [{ id: 1, age1 }]// 参数是一个字符串// 字符串是一个可迭代对象const str = '123';const newArr3 = Array.from(str);// 参数是一个Symbol 类型 - Array.from 不做处理 返回一个新的数组。const sm = Symbol('123');Array.from(sm);// 参数是一个数字 Array.from 不做处理 返回一个新数组。 因为他们不是可迭代对象 Symbol.iterator// 参数是一个bool Array.from 不做处理 返回一个新数组。 因为他们不是可迭代对象 Symbol.iterator// 参数是一个RegExp Array.from 不做处理 返回一个新的数组。 因为他们不是可迭代对象 Symbol.iterator// 参数是null / undefined 也不是可迭代对象。直接报错// 参数是普通对象 Array.from 不做任何处理 返回一个新的数组.// 参数是一个类数组// 1.键名必须从0 开始数字顺序排序// 2.length 属性必须正确// 长度决定了新数组的长度.属性名决定了而填充该数组的位置.// 总结 Array.from 的第一个参数必须是可迭代对象 或者标准的类数组