Java Script : Block Scope

Block Scope


Karena tantangan dengan lingkup global, lebih baik untuk mendefinisikan variabel dalam lingkup blok.

Blok mengacu pada {} tanda kurung fungsi, loop, atau pernyataan if, dan berfungsi sebagai penanda struktural penting untuk kode kita. Cakupan blok berarti bahwa variabel yang didefinisikan dalam blok hanya dapat diakses dalam kurung kurawal.

Ruang lingkup blok berfungsi seperti ini:



const colorOfSky = () => { let color = 'blue'; console.log(color); // blue }; colorOfSky(); // blue console.log(color); // ReferenceError



Anda akan melihat:

Kami mendefinisikan fungsi colorOfSky().
Di dalam fungsi, variabel color hanya tersedia dalam kurung kurawal fungsi.
Jika kita mencoba untuk mencatat variabel yang sama di luar fungsi, melempar ReferenceError.

1. Dalam light.js, menggunakan const, tentukan fungsi visibleLightWaves ().

2. Dalam fungsi visibleLightWaves (), gunakan let, buat cahaya variabelWaves dan atur sama dengan 'Moonlight'.

3. Di dalam fungsi, di bawah variabel lightWaves, tambahkan pernyataan console.log () yang akan mencatat nilai variabel lightWaves ketika fungsi berjalan.

4. Panggil fungsi visibleLightWaves () dari luar fungsi.

5. Di bawah pemanggilan fungsi, catat nilai lightWaves ke konsol dari luar fungsi.

Anda akan melihat bahwa itu log ReferenceError karena variabel terikat pada lingkup blok dari fungsi!


Solusi :

const visibleLightWaves = () => {
  let lightWaves = 'Moonlight';
  let region = 'The Arctic';
    if (region === 'The Arctic') {
      let lightWaves = 'Northern Lights';
      console.log(lightWaves); 
    }
  console.log(lightWaves);
};

visibleLightWaves();


Hasilnya :

Northern Lights
Moonlight

Tidak ada komentar:

Posting Komentar