JavaScript函数的默认参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript函数的默认参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1115字,纯文字阅读大概需要2分钟。
内容图文
我完全理解ECMAScript 6已经创建了许多使用箭头函数等函数处理的潜在方法.
因为我不太熟悉新东西,所以在谈论函数的默认参数时.如何解释以下定义函数的方式之间的差异:
功能1:
function m1({x = 0, y = 0} = {}) {
return [x, y];
}
功能2:
function m2({x, y} = { x: 0, y: 0 }) {
return [x, y];
}
解决方法:
当您尝试将某些内容传递给您的函数时,差异很明显:
m1({}) // [0, 0]
m1({z: 1}) // [0, 0]
m1({x: 1}) // [1, 0]
m2({}) // [undefined, undefined]
m2({z: 1}) // [undefined, undefined]
m2({x: 1}) // [1, undefined]
你的第一个语法(m1({x = 0,y = 0} = {}))做了三件事:
>首先,它为函数提供了一个默认的第一个参数,它是一个空对象.如果没有给出第一个参数(m1())则使用默认的空对象(即它变为m1({}))
>其次,您的代码从该对象中提取x和y属性.
>如果未定义任何一个,则为其指定默认值0.
m2({x,y} = {x:0,y:0})做了一些完全不同的事情:
>首先,它为函数提供默认的第一个参数,即对象{x:0,y:0}.如果没有传递第一个参数,则使用该对象.如果传递除undefined之外的任何参数,则使用该值.
>其次,代码从该对象中提取x和y属性.如果它们未定义,那就是你将得到的.
第一个选项(具有默认值的参数,使用更多默认值进行解构)几乎可以肯定你想要的.第二个选项意味着如果传递参数,则代码对属性没有合理/有用的默认值.
内容总结
以上是互联网集市为您收集整理的JavaScript函数的默认参数全部内容,希望文章能够帮你解决JavaScript函数的默认参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。