array.of()是es6引入的静态方法,用于将任意数量参数原样转为新数组,避免array()构造函数对单个数字参数误判为数组长度的歧义;如array(3)生成长度为3的空数组,而array.of(3)返回[3]。

Array.of 是 JavaScript 中用于**将任意数量的参数直接转为新数组**的静态方法,它不区分参数个数或类型,也不会像 Array() 构造函数那样对单个数字参数产生歧义。
为什么不用 Array()?
传统 Array(3) 会创建一个长度为 3 的空数组([empty × 3]),而 Array.of(3) 明确返回 [3]。这种设计避免了构造函数在单参数时的“长度陷阱”。
基本用法:传什么,就装什么
所有传入的参数,无论类型、数量、是否为 undefined 或 null,都会成为新数组的元素:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
Array.of(1, 2, 3)→[1, 2, 3] -
Array.of('a', null, undefined, {x: 1})→['a', null, undefined, {x: 1}] -
Array.of()→[](空数组) -
Array.of(0)→[0](不是长度为 0 的数组)
和 Array.from 的区别
Array.of 只是“原样打包”参数;Array.from 则用于从类数组或可迭代对象(如字符串、Set、arguments)中构建新数组,并支持映射处理:
-
Array.of('a', 'b')→['a', 'b'] -
Array.from('ab')→['a', 'b'](按字符拆分) -
Array.from([1,2], x => x * 2)→[2, 4](带映射)
实际使用建议
当你需要可靠地把一组离散值转成数组(尤其在函数参数转发、配置组装、兜底默认值等场景),Array.of 是简洁安全的选择:
- 封装多参数 API 返回值:
return Array.of(...args) - 避免
new Array(...)的意外行为 - 比
[...args]更明确(尤其在未启用展开语法的环境)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










