为了账号安全,请及时绑定邮箱和手机立即绑定

关于一段es6函数参数解构的代码

关于一段es6函数参数解构的代码

喵喔喔 2018-10-20 18:13:59
function f({ x = 10 } = {}, { y } = { y: 10 }) {    console.log( x + " " + y +"\n");}f(); // 10 10  f( undefined, undefined ); // 10 10  f( {}, undefined ); // 10 10  f( {}, {} ); // 10 undefined  f( undefined, {} ); // 10 undefined  f( { x: 2 }, { y: 3 } ); // 2 3希望有人能解释一下这段代码对的运行原理,关于参数解构这一块总是很迷糊
查看完整描述

1 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

  1. 检验传入的函数参数是否是undefined或者没有传参;

  2. 对于没有传参的情况或者传入的是undefined,则查看有没有参数默认值,如果有则对参数默认值进行解构赋值

  3. 如果传入的参数,则忽略参数默认值,对传入的参数进行解构赋值

  4. 对于上述2,3步的解构赋值,如果解构成功则使用解构的值,如果解构失败则查看有没有解构默认值,如果有则使用解构默认值,如果没有则为undefined


查看完整回答
反对 回复 2018-11-27
  • 1 回答
  • 0 关注
  • 608 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号