函数参数 + 箭头函数

一、函数参数结构:

  • 一、function m1({x = 0, y = 0} = {}){...}

  • 二、function m2({x, y} = { x: 0, y: 0 }) {...}

  • 方法一可理解为:

  • 1、如果没有给函数传参,则用空的{}代替,然后 x和y的默认值各为0;

  • 2、如果传了参则不会用空的{}代替。

  •  1)、如果实参的key 与形参的key一一对应,那么实参的值会替换掉形参的默认值
    
  •  2)、如果实参的key 与形参的key不一一对应,只会替换掉对应位置的值,不对应的位置仍然用形参的默认值(0)。
    
  • 方法二可理解为:

  • 1、如果没有给函数传参,则用{ x: 0, y: 0 }代替,然后 x和y的默认值各为0;

  • 2、如果传了参则不会用空的{}代替。

  •  1)、如果实参的key 与形参的key一一对应,那么实参的值会替换掉形参的默认值
    
  •  2)、如果实参的key 与形参的key不一一对应,只会替换掉对应位置的值,不对应的位置仍然用形参的默认值(undefined)。
    

二、rest 形参

function foo(...values) {
  console.log(values);
}

foo(1,2,3,4,5,6);  // [1,2,3,4,5,6]

其中 ...values 就是rest 方式的形参,表示该函数可以接受任意多个实参,并会自动将其转换成数组形式

四、扩展运算符 ...

即 rest参数的逆运算

let a = [1,2,3,4,5,6];
console.log(...a); // 1 2 3 4 5 6

五、箭头函数

由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。

let getTempItem = id => ({ id: id, name: "Temp" });

#等同于:
var getTempItem = function(id) {
  return {
    id: id,
    name: "Temp",
  };
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • 一、三道考题 开讲之前,我先请你做三道题目。(嘿嘿,得先把你的头脑搞昏才行……唉呀,谁扔我鸡蛋?) 考题一,程序代...
    飞哥3124阅读 3,897评论 0 2
  • function obj() {return {x:5}};function mon({x=0,y=0}=obj(...
    Json_list阅读 2,490评论 0 0
  • Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要本文详细介绍了函数的各种形参类型...
    理查德成阅读 3,339评论 0 2
  • 好多天没写简书了,最近突然没了灵感,你知道双鱼座的人是靠灵感生存的,潜意识比意识强大,可是最近一段时间做的都是具体...
    卢伟心理师阅读 2,958评论 0 0

友情链接更多精彩内容