标签:javascript ecmascript-6 functional-programming design-patterns
参见英文答案 > Multiple arguments vs. options object 10个
我真的爱上了具有功能的对象解构.
例如:
var buyCoffee = function({sku, pounds = 1, roast:''}){
...more code
}
buyCoffee({sku:"cf-100" pounds: 3, roast: 'dark'});
buyCoffee({sku:"cf-101" roast: 'light'});
优点
>灵活性类似于args对象.
>增加了简洁性
>如果我不需要参数,则无需输入参数.
缺点
>变量名称一直被锁定.
>卷曲会更难.(据我所知)
>与传统的参数相比,显着的计算开销?
>更难测试?
我想知道这种方法的缺点是什么?当我成长为开发者时,这是一个很好的模式吗?只是从战壕上寻找一些智慧.思考?
解决方法:
Variable names are locked all the way through.
一点也不.您可以轻松地将结构化为任意变量:
function({sku:mySku, pounds:localPounds=1, roast=''}) { … // use mySku, localPounds and roast
Currying would be much harder.
无论如何,当你传递物体时都没有晃动.使用可选参数进行currying总是很困难.
Potential computational overhead?
取决于你对它的比较.
标签:javascript,ecmascript-6,functional-programming,design-patterns 来源: https://codeday.me/bug/20190823/1702108.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。