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.
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());
Night Sky: The Moon, Sirius, The Milky Way
Di luar fungsi, di bawah pernyataan
console.log()
pada baris, console.log()
tetapkan stars
.
Anda akan melihat bahwa
stars
variabel global dipindahkan ke 'Sirius'
. dan ini dapat memengaruhi program kami dengan cara yang tidak kami maksudkan.
Solusi :
const galaxy = 'The Milky Way';
let stars = 'North Star';
const myNightSky = () => {
stars = 'Sirius';
return 'Night Sky: ' + satellite + ', ' + stars + ', ' + galaxy;
};
console.log(myNightSky());
Hasilnya :
Tidak ada komentar:
Posting Komentar