Array.from()是ES6新增的方法,它可以将一个类似数组或可迭代对象(包括字符串、Set、Map等)转换为一个新的数组。而常规初始化是直接通过方括号[]创建一个新的数组。它们的主要差异在于Array.from()可以对传入的参数进行处理,生成一个新的数组。
举个例子,如果我们想要将一个字符串转为由每一个字符组成的数组,可以通过Array.from()方法:
let str = "hello world";
const array = Array.from(str);
console.log(array); // ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]
如果使用常规初始化,则需要手动遍历字符串并将每一个字符添加到数组中:
let str = "hello world";
const array = [];
for (let i = 0; i < str.length; i++){
array.push(str[i]);
}
console.log(array); // ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]
总之,Array.from()可以更方便地将类似数组或可迭代对象转换为数组,降低了代码的复杂度和可读性。