-1

This is my code

const v1 = 'bin';
const nvmProfix = 'NVM_';

console.log(process.env.NVM_BIN);
//it prints NVM_BIN=/Users/someone/.nvm/versions/node/v16.16.0/bin

const nvmBinVar = `process.env.NVM_${v1.toUpperCase()}`;
console.log(nvmBinVar);
//it prints process.env.NVM_BIN

const nvmBin = `${eval(nvmBinVar)}`;
console.log(process.env.NVM_BIN);
//it prints NVM_BIN=/Users/someone/.nvm/versions/node/v16.16.0/bin

How to replace the eval() pls ?

user3552178
  • 2,719
  • 8
  • 40
  • 67

1 Answers1

1

Couldn't you just use bracket notation?

const
  nvmProfix = 'NVM_',
  v1 = 'bin',
  nvmBin = `${nvmProfix}${v1.toUpperCase()}`;

// Prints NVM_BIN=~/.nvm/versions/node/v16.16.0/bin
console.log(process.env.NVM_BIN); // Static access

// Prints NVM_BIN=~/.nvm/versions/node/v16.16.0/bin
console.log(process.env[nvmBin]); // Dynamic access
Mr. Polywhirl
  • 42,981
  • 12
  • 84
  • 132