ES6特性之:Rest参数

简介: Rest参数,也称可变参数。它为函数提供了可接受任意数量的参数的能力。其实在JavaScript中,通过使用arguments对象也能实现这种可变参数的能力,但是,arguments对象本身有点奇怪,它看起来像一个数组,但其实它不是(是个Iterable的对象)。

Rest参数,也称可变参数。它为函数提供了可接受任意数量的参数的能力。

其实在JavaScript中,通过使用arguments对象也能实现这种可变参数的能力,但是,arguments对象本身有点奇怪,它看起来像一个数组,但其实它不是(是个Iterable的对象)。

ES6中为了语法语义更清晰,专门定义了Rest参数语法来实现这种可变参数的功能。

function format(template, ...values) {
    var result = template;

    for (var i = 0; i < values.length; i++) {
        result = result.replace(new RegExp("\\{" + i + "\\}", "g"), values[i]);
    }

    return result;
}

format("Name: {0}, Age: {1}", "kevin", "18");
// 结果:Name: kevin, Age: 18

format("[{0}] {1} - {2}", "error", "2017-01-01 12:22", "network error");
// 结果:[error] 2017-01-01 12:22 - network error

Rest参数是一个纯粹的数组

function test(a, b, ...others) {
  console.log(Array.isArray(others)); // true
}

Rest参数必须放在参数列表中的最后一个位置

function test(...rest, more) {} // 错误

function test(more, ...rest) {} // 正确
function test(...rest) {} // 正确
目录
相关文章
|
11月前
|
NoSQL 关系型数据库 Shell
Mongodb支持事务吗?
MongoDB 是一个非关系型数据库,最初不支持事务。4.0版本引入了多文档事务支持,确保跨多个文档的操作要么全部成功,要么全部失败回滚,保持数据一致性。从4.2版本起,分布式事务和多文档事务成为同义词,支持分片集群和副本集上的多文档操作。配置事务需开启副本集,并通过会话管理事务的提交与回滚。示例展示了如何在MongoDB Shell中使用事务进行多文档操作。
1056 11
|
11月前
|
数据采集 监控 数据管理
AllData数据中台商业版-核心内参资料分享
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
ly~
|
供应链 监控 搜索推荐
大数据的应用场景
大数据在众多行业中的应用场景广泛,涵盖金融、零售、医疗保健、交通物流、制造、能源、政府公共服务及教育等领域。在金融行业,大数据用于风险评估、精准营销、反欺诈以及决策支持;零售业则应用于商品推荐、供应链管理和门店运营优化等;医疗保健领域利用大数据进行疾病预测、辅助诊断和医疗质量评估;交通物流业通过大数据优化物流配送、交通管理和运输安全;制造业则在生产过程优化、设备维护和供应链协同方面受益;能源行业运用大数据提升智能电网管理和能源勘探效率;政府和公共服务部门借助大数据改善城市管理、政务服务及公共安全;教育行业通过大数据实现个性化学习和资源优化配置;体育娱乐业则利用大数据提升赛事分析和娱乐制作水平。
ly~
2669 2
|
关系型数据库 MySQL
MYSQL约束(自增长,以及非空约束)
MYSQL约束(自增长,以及非空约束)
|
存储 缓存 数据库
Shiro【核心功能、核心组件、项目搭建 、配置文件认证、数据库认证 】(一)-全面详解(学习总结---从入门到深化)
Shiro【核心功能、核心组件、项目搭建 、配置文件认证、数据库认证 】(一)-全面详解(学习总结---从入门到深化)
678 1
|
Windows
【Windows】windows10 时间显示秒数
【Windows】windows10 时间显示秒数
357 0
【Windows】windows10 时间显示秒数
|
存储 监控 关系型数据库
快速将大规模MySQL数据同步到Doris的方法解析
NineData 采用先进的数据同步技术,确保数据实时同步到 Doris,极大地降低了数据延迟,实测 500 GB 数据传输完成仅用时 40 分钟,让您的决策基于最新数据。
1978 0
|
域名解析 弹性计算 数据可视化
|
监控 数据可视化 算法
FL Studio21大版本最新下载纯正简体中文支持
FL Studio 21即将推出 – 新功能和改进。如果您从事音乐制作,那么您不可能没有听说过 FL Studio,或者很可能已经使用过这个音乐程序。好了,新版本的 FL Studio 21 DAW 已经准备好向公众发布了。FLStudio水果下载如下:http://t.csdn.cn/8tvqc
832 0
|
存储 安全 Java
Qt三方库开发技术:log4Qt介绍、编译和使用
Qt三方库开发技术:log4Qt介绍、编译和使用
Qt三方库开发技术:log4Qt介绍、编译和使用