Java Script : Global Scope II

Global Scope II

Meskipun penting untuk mengetahui pengertian cakupan global, tapi sebaiknya kita menghindari mendefinisikan variabel dalam lingkup global. Variabel yang dibatasi secara global dapat bertabrakan dengan variabel yang lebih luas secara lokal, yang menyebabkan perilaku tak terduga dalam kode kita.

Mari kita telusuri program kami sedikit lebih jauh
1.
Mari kita lihat apa yang terjadi jika kita membuat variabel yang menimpa variabel global.
Di dalam fungsi myNightSky()pada baris pertama fungsi, tetapkan bintang variabel  stars ke 'Sirius' sebagai berikut:
stars = 'Sirius';
2.
Di luar fungsi, di bawah pernyataan console.log() pada barisconsole.log() tetapkan stars.
Anda akan melihat bahwa starsvariabel global dipindahkan ke 'Sirius'dan ini dapat memengaruhi program kami dengan cara yang tidak kami maksudkan.


Solusi :

const satellite = 'The Moon';
const galaxy = 'The Milky Way';

let stars = 'North Star';

const myNightSky = () => {
  stars = 'Sirius';
  return 'Night Sky: ' + satellite + ', ' + stars + ', ' + galaxy;
};

console.log(myNightSky());


Hasilnya :

Night Sky: The Moon, Sirius, The Milky Way

Tidak ada komentar:

Posting Komentar