Menu
CoddyTech

Variabel Lingkungan

Termasuk bagian Dasar-Dasar Node.js dalam perjalanan Node.js di Coddy. Pelajaran 6 dari 33.

Beberapa pengaturan ditentukan oleh orang yang menjalankan program, bukan oleh kata-kata yang mereka ketik setelahnya.

Variabel lingkungan adalah string bernama yang diteruskan shell ke setiap program. Node menempatkannya di process.env. Variabel yang belum disetel bernilai undefined. a ?? b menghasilkan a, kecuali jika a bernilai undefined atau null; dalam kasus itu, hasilnya b. Jadi, process.env.CITY ?? 'Lisbon' menghasilkan 'Lisbon' jika CITY belum disetel.

// CITY=Oslo node weather.js
const city = process.env.CITY ?? 'Lisbon';
console.log(`Weather for ${city}`);

Di laptop, kamu dapat menyetel variabel untuk satu kali menjalankan program dengan menuliskannya sebelum perintah: CITY=Oslo node weather.js mencetak Weather for Oslo, sedangkan node weather.js saja mencetak Lisbon. Nama variabel peka huruf besar-kecil. Terminal di samping kodemu tidak menyetel variabel apa pun, jadi terminal itu selalu menampilkan nilai default.

challenge icon

Tantangan

Mudah

Catatanmu harus menyebutkan nama pemiliknya. Nama tersebut berasal dari variabel lingkungan, yaitu pengaturan bernama yang diberikan shell kepada program, bukan dari kata-kata yang diketik setelah perintah.

  1. Di notes.js, pada cabang list, baca variabel lingkungan NOTES_OWNER.
  2. Sebelum No notes yet, cetak baris judul: Notes for diikuti nama pemiliknya. Jika NOTES_OWNER tidak diatur, gunakan kata you sebagai pengganti nama.

Jika NOTES_OWNER diatur ke Ada, list mencetak:

Notes for Ada
No notes yet

Jika NOTES_OWNER tidak diatur, program mencetak:

Notes for you
No notes yet

Perintah lainnya tidak berubah.

Coba: ketik list di kotak setelah $ node notes.js, lalu tekan Enter. Kamu akan melihat Notes for you, lalu No notes yet. Terminal di sini tidak dapat mengatur variabel lingkungan, jadi kamu akan selalu melihat you. Saat kamu menekan Periksa, pemeriksaan juga menjalankan list dengan NOTES_OWNER diatur ke Ada dan Grace, lalu mengharapkan Notes for Ada dan Notes for Grace. Di laptop, kamu dapat mencobanya dengan NOTES_OWNER=Ada node notes.js list.

Coba sendiri

// Alat catatanmu dimulai di sini.
const [command, ...words] = process.argv.slice(2);
const text = words.join(' ');

if (command === 'add') {
    console.log(`Adding: ${text}`);
} else if (command === 'list') {
    console.log('No notes yet');
} else {
    if (command) {
        console.error(`Unknown command: ${command}`);
    }
    console.error('Usage: node notes.js <command> [words]');
    process.exit(1);
}

Semua pelajaran di Dasar-Dasar Node.js

Latihan sendiri: Playground Express