ID (Indonesia) Translation

Halo teman-teman, para ahli JavaScript masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia lingkup variabel. Jangan khawatir jika Anda baru belajar programming – saya akan menjadi panduan ramah Anda, dan kita akan menjelajahi konsep ini bersama, langkah demi langkah. Jadi, ambil keyboard Anda (tongkat sihir), dan mari kita masuk ke dalam!

JavaScript - Variable Scope

Lingkup Variabel JavaScript

Lingkup variabel seperti halaman permainan tempat variabel Anda bisa bermain. Ini menentukan di mana dalam kode Anda variabel itu terlihat dan bisa digunakan. Bayangkan ini sebagai "jangkauan visibility" variabel Anda. Mari kita mulai dengan contoh sederhana:

let globalVar = "Saya terlihat di mana-mana!";

function sayHello() {
    console.log(globalVar);
    let localVar = "Saya hanya terlihat dalam fungsi ini!";
    console.log(localVar);
}

sayHello();
console.log(globalVar);  // Ini akan berjalan
console.log(localVar);   // Ini akan menyebabkan kesalahan

Dalam contoh ini, globalVar seperti anak populer di sekolah – semua orang mengenal dan bisa berbicara dengannya. Tetapi localVar lebih seperti anak malu yang hanya muncul saat kelas seni (fungsi sayHello).

Lingkup Blok JavaScript

Sekarang, mari bicarakan tentang lingkup blok. Dalam JavaScript, blok ditentukan oleh kurung kurawal {}. Variabel yang dideklarasikan dengan let dan const adalah lingkup blok, yang berarti mereka hanya terlihat dalam blok tempat mereka dideklarasikan.

if (true) {
    let blockScopedVar = "Saya hanya terlihat dalam blok ini!";
    console.log(blockScopedVar);  // Ini akan berjalan
}

console.log(blockScopedVar);  // Ini akan menyebabkan kesalahan

Bayangkan lingkup blok seperti rumah klub rahasia. Hanya anak-anak keren (variabel) dalam rumah klub (blok) yang tahu shake-hand rahasia (dapat mengakses variabel).

Lingkup Fungsi JavaScript

Lingkup fungsi seperti ruang pribadi untuk variabel Anda. Setiap variabel yang dideklarasikan dalam fungsi hanya dapat diakses dalam fungsi itu sendiri. Mari kita lihat contoh:

function outer() {
    let outerVar = "Saya di fungsi eksternal!";

    function inner() {
        let innerVar = "Saya di fungsi internal!";
        console.log(outerVar);  // Ini akan berjalan
        console.log(innerVar);  // Ini akan berjalan
    }

    inner();
    console.log(outerVar);  // Ini akan berjalan
    console.log(innerVar);  // Ini akan menyebabkan kesalahan
}

outer();

Di sini, outerVar seperti orang tua yang bisa melihat ke dalam kamar anaknya (inner fungsi), tetapi mainan anak (innerVar) tetap di kamar anaknya.

Lingkup Lokal JavaScript

Lingkup lokal merujuk kepada variabel yang hanya dapat diakses dalam bagian tertentu dari kode Anda. Ini bisa dalam fungsi (lingkup fungsi) atau blok (lingkup blok). Mari kita lihat contoh yang lebih kompleks:

let globalVar = "Saya global!";

function outerFunction() {
    let outerVar = "Saya dari fungsi eksternal!";

    if (true) {
        let blockVar = "Saya dari blok!";
        var functionVar = "Saya terlihat di seluruh fungsi!";

        console.log(globalVar);    // Bisa
        console.log(outerVar);     // Bisa
        console.log(blockVar);     // Bisa
        console.log(functionVar);  // Bisa
    }

    console.log(globalVar);    // Bisa
    console.log(outerVar);     // Bisa
    console.log(functionVar);  // Bisa
    console.log(blockVar);     // Kesalahan!
}

outerFunction();
console.log(globalVar);    // Bisa
console.log(outerVar);     // Kesalahan!
console.log(functionVar);  // Kesalahan!
console.log(blockVar);     // Kesalahan!

Contoh ini seperti reuni besar keluarga. globalVar adalah kakek/nenek yang semua orang kenal. outerVar seperti orang tua, dikenal dalam keluarga outerFunction. blockVar adalah sepupu malu yang hanya muncul di satu ruangan (blok if). functionVar, dideklarasikan dengan var, adalah paman keras yang semua orang di dalam fungsi bisa dengar.

Sekarang, mari rangkum jenis deklarasi variabel dan lingkup mereka dalam tabel praktis:

Deklarasi Lingkup Hoisting Dapat Diubah
var Fungsi Ya Ya
let Blok Tidak Ya
const Blok Tidak Tidak

Ingat, var adalah anak keren kuno yang bisa agak tak menentu. let dan const adalah anak baru di blok yang memainkan peraturan lebih ketat.

Memahami lingkup variabel sangat penting dalam JavaScript. Ini membantu Anda menulis kode yang bersih dan efisien serta menghindari kutukan yang merusak. Selalu ingat untuk mendeklarasikan variabel Anda dalam lingkup yang sesuai, dan hati-hati saat Anda mencoba mengakses mereka.

Saat ini, bayangkan kode Anda seperti kota yang terorganisir baik. Variabel global adalah taman umum yang semua orang bisa kunjungi. Lingkup fungsi adalah bangunan dengan lantai yang berbeda (blok), setiap lantai memiliki kamar (lingkup lokal). Dengan menjaga variabel Anda dalam "rumah" mereka yang sesuai, Anda akan menciptakan kota JavaScript yang harmonis dan berfungsi baik!

Terus latihan, dan segera Anda akan menjadi ahli lingkup variabel. Sampai jumpa lagi, selamat coding!

Credits: Image by storyset