NodeJS动态传参特性:不定个数参数的省略,默认值与解构


发布者 ourjs  发布时间 1509950779523
关键字 JS学习  Node.JS 
Node.JS现在发展很快,几乎一年一个大版本。下面是关于ES6参数的一些新用法。

参数默认值

以前对于一些可以省略的参数,我们经常会用到下面的用法:

function doTask (who, options) {
  options = options || {}
}
现在 options = options || {} 可以省略了,可以写成

function doTask (who, options = {}) {

}

不定参数的省略

之前我们在给一个函数传不定个数的参数时,需要处理arguments ,并将其转化成Array对象

function assginTaskTo (taskInfo) {
  //除去第一个参数,将后面的参数变成数组users
  var users = Array.prototype.slice.call(arguments, 1)
  console.log(users)
}
调用和输出结果
assginTaskTo({ name: 'test' }, 'kris', 'Lee', 'Alice')
> [ 'kris', 'Lee', 'Alice' ]

现在可以写成这样的,users默认是array

function assginTaskTo (taskInfo, ...users) {
	console.log(users)
}

参数解构

在Javascript中普遍模式是将一个对象作为配置可选项,以前,这些选项得手工从对象中分解出来然后分配给相应变量。

function doTask (who, options) {
	options = options || ''

	var name = options.name
	var time = options.time
}
现在只需要一行即可:

function doTask (who, options = {}) {
	var { name, time } = options
}










 热门文章 - 分享最多
  1. WordPress、百度宣布停止使用React(Native)开源项目,Facebook开源专利许可潜在的法律风险
  2. 阿里涉嫌抄袭创业公司产品:在今天这个故事里,阿里巴巴就是四十大盗
  3. 从 Node 到 Go:一个粗略的比较—GO平均性能比JavaScript快十几倍
  4. 迫于社区压力:React(Native)16将更换成MIT开源协议
  5. Node.JS中如何快速扫描端口并发现局域网内的Web服务器地址(80)
  6. Node也许不是构建大型服务的最佳选择—Node之父Ryan Dahl访谈录
  7. GitHub2017年度开发者报告 JavaScript依然遥遥领先Python突飞猛进
  8. 垄断"开源硬件"树莓派芯片的供应商博通要收购高通了
  9. 招聘前端工程师
  10. 【干货】扫描识别控件Dynamic Web TWAIN在线示例汇总

 相关阅读
  1. 从 Node 到 Go:一个粗略的比较—GO平均性能比JavaScript快十几倍
  2. Node.JS中如何快速扫描端口并发现局域网内的Web服务器地址(80)
  3. Node.JS循环递归复制文件夹目录及其子文件夹下的所有文件
  4. 正则中test、exec、match的简单区别,以及括号的用法
  5. node.js使用unzip解压zip包指定文件,提取 word/excel (docx/pptx/xlsx) 文本内容
  6. Linux下用node.js提取Word(doc/docx)/PDF文本内容
  7. 用JavaScript获取当月第一天和最后一天
  8. Node.JSv8的5个新特性:支持string padding与async/await和object参数省略
  9. node.js中fs.stat里的atime,mtime,ctime,birthtime在debian下的更新规则与区别
  10. decodeURIComponent有个BUG,当浏览器请求地址含%+数字时,会解析错误

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA