ES6 默认选项参数

es6 default options param

本文关键字:参数 选项 默认 ES6      更新时间:2023-09-26

在"Understanding ECMAScript6"中,

默认对象需要具有与解构参数相同的所有信息(具有相同的默认值,以确保一致的行为),就像此版本的 setCookie() 函数中的那个一样:

function setCookie(name, value,
    {
        secure = false,
        path = "/",
        domain = "example.com",
        expires = new Date(Date.now() + 360000000)
    } = {
        secure: false,
        path: "/",
        domain: "example.com",
        expires: new Date(Date.now() + 360000000)
    }
) {
    // ...
}

我的问题是为什么不简单地将解构对象设置为空对象?为什么它必须是具有相同信息的对象?我无法从复制默认值中感知到任何"胜利"。

事实上,它是重复和不必要的; 参见 https://github.com/nzakas/understandinges6/issues/255