Разрушение с помощью аргумента функции - PullRequest
0 голосов
/ 16 апреля 2020

Я пытался уничтожить наш объект при передаче его в аргумент функции, где у меня есть:

config: {
    redshift: {
        connection: {
            clusterid: null,
            host: null,
            port: 5439,
            user: null,
            database: null,
            iamrole: null,
            ssl: true
        },
        query: {
            slotlimit: 50,
            username: null
        }
    }
}

Затем у меня есть образец. js, где у меня есть функция, которая использует объект конфигурации:

function someFunc({clusterId: clusterid, iamRole: iamrole}) {
// do something with clusterId and iamRole not clusterid or iamrole
}

Тогда у меня есть индекс. js, где я передаю вышеупомянутую конфигурацию напрямую как:

someFunc(config.redshift.connection)

Я получаю неопределенное значение для вышеупомянутого, поскольку я узнал, что мы не можем использовать деструкцию как someFunc({clusterId: clusterid, iamRole: iamrole}) в то время как я хочу использовать переменные в верблюжьей оболочке внутри своей функции вместо someFunc({clusterid, iamrole}), а затем использовать его.

Учебный узел и нужна помощь сообщества. Заранее спасибо

1 Ответ

0 голосов
/ 16 апреля 2020

Ключ и результирующие имена параметров поменялись местами. Обратитесь к MDN и прочитайте раздел, посвященный присвоениям объектов для новых имен переменных. Ниже приведен рабочий пример.

config = {
    redshift: {
        connection: {
            clusterid: null,
            host: null,
            port: 5439,
            user: null,
            database: null,
            iamrole: null,
            ssl: true
        },
        query: {
            slotlimit: 50,
            username: null
        }
    }
};

function someFunc({clusterid: clusterId, iamrole: iamRole}) {
    // do something with clusterId and iamRole not clusterid or iamrole
    console.log(clusterId, iamRole);
}

someFunc(config.redshift.connection);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...