0

Export Beberapa Nilai pada Node.js

 


Pada materi sebelumnya kita telah mengetahui cara export nilai dari suatu berkas JavaScript. Lantas bagaimana jika kita perlu meng-export beberapa nilai sekaligus?

Mari kita contohkan dengan menambahkan variabel isCoffeeMachineReady pada berkas state.js seperti berikut:

  1. const coffeeStock = {
  2.     arabica: 100,
  3.     robusta: 150,
  4.     liberica: 200
  5. };
  6.  
  7. const isCoffeeMachineReady = true;

Kita tidak bisa melakukan export dari kedua nilai di atas dengan cara seperti di bawah ini:

  1. module.exports = coffeeStock;
  2. module.exports = isCoffeeMachineReady;

Baris kode kedua berarti kita menginisialisasikan ulang nilai properti module.exports sehingga nilai yang di-export hanya variabel isCoffeeMachineReady.

Solusinya adalah kita tetap mengekspor satu nilai, tetapi kita akan memanfaatkan object literals ({ }).

  1. module.exports = {coffeeStock, isCoffeeMachineReady}; 

Jika kita lihat nilai module pada console, nilai dari properti exports merupakan sebuah objek yang menampung nilai dari objek coffeeStock dan variabel isCoffeeMachineReady.

  1. Module {
  2.   id: '.',
  3.   path: '/home/dicoding/Playground/javascript/CoffeeMachine',
  4.   exports: {
  5.     coffeeStock: { arabica: 100, robusta: 150, liberica: 200 },
  6.     isCoffeeMachineReady: true
  7.   },
  8.   parent: null,
  9.   filename: '/home/dicoding/Playground/javascript/CoffeeMachine/state.js',
  10.   loaded: false,
  11.   children: [],
  12.   paths: [
  13.     '/home/dicoding/Playground/javascript/CoffeeMachine/node_modules',
  14.     '/home/dicoding/Playground/javascript/node_modules',
  15.     '/home/dicoding/Playground/node_modules',
  16.     '/home/dicoding/node_modules',
  17.     '/home/node_modules',
  18.     '/node_modules'
  19.   ]
  20. }

Lalu bagaimana cara import kedua nilai tersebut? Masih ingat dengan materi destructuring object? Pada berkas index.js kita gunakan teknik destructuring object untuk mendapatkan nilai yang di-import seperti ini:

  1. const {coffeeStock, isCoffeeMachineReady} = require('./state');
  2.  
  3. console.log(coffeeStock);
  4. console.log(isCoffeeMachineReady);
  5.  
  6. /* output
  7. { arabica: 100, robusta: 150, liberica: 200 }
  8. true
  9. */

Namun ingat, ketika menggunakan destructuring object pastikan penamaan variabel lokal sesuai dengan properti objeknya. Jika tidak, maka variabel tersebut akan menghasilkan undefined.

Posting Komentar
Theme
Share
Additional JS