为什么在函数参数中同时使用扩展运算符和解构赋值的好处是什么?
P粉775723722
P粉775723722 2023-08-16 16:27:57
[JavaScript讨论组]

我一直遇到这种语法,但我很难理解它到底在做什么:

export class SomeClass extends SomeParent {
    constructor(...[configuration]) {
        // 只引用“configuration”的代码行
    }
}

在Node REPL中尝试后,我发现以下两种写法没有区别:

function foo(...[bar]) { console.log(bar); console.log(arguments) }

...和...

function foo(bar) { console.log(bar); console.log(arguments) }

...那么它有什么作用呢?

P粉775723722
P粉775723722

全部回复(1)
P粉670107661

看起来确实毫无意义。您需要询问代码的作者他们在这方面的意图,他们至少应该留下一个注释。

然而,实际上存在微小的差异:剩余参数不计入函数的参数个数。因此,(function(bar){}).length1,而 (function(...[bar]){}).length0

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号