Considere el siguiente fragmento de código:
let { networkConfig, getNetworkIdFromName } = require('../helper-hardhat-config') const fs = require('fs') module.exports = async ({ getNamedAccounts, deployments, getChainId }) => { const { deploy, get, log } = deployments const { deployer } = await getNamedAccounts() const chainId = await getChainId() let linkTokenAddress let vrfCoordinatorAddress if (chainId == 31337) { let linkToken = await get('LinkToken') let VRFCoordinatorMock = await get('VRFCoordinatorMock') linkTokenAddress = linkToken.address vrfCoordinatorAddress = VRFCoordinatorMock.address additionalMessage = " --linkaddress " + linkTokenAddress ........... ........... En Javascript, entiendo cómo los objetos se asignan a las variables. por ejemplo x = {one: 1, two: 2 } pero no entiendo cómo funciona const { deploy, get, log } = deployments en el código anterior. Solo para experimentar, en la consola ingresé las siguientes líneas {var1,var2}={one: 1, two: 2 } pero la variable var1 y var2 venían como Indefinidas. Solo estoy tratando de entender cómo es posible, por ejemplo, usar la propiedad get como una función como en let linkToken = await get('LinkToken')
Gracias por adelantado !
Se llama desestructuración de objetos, consulte aquí https://www.freecodecamp.org/news/javascript-object-destructuring-spread-operator-rest-parameter/