Tidak. Variabel USER_ID hanya dapat diakses dalam fungsi anonim dan fungsi anonim tidak dapat diakses karena tidak memiliki nama...
Ketika sebuah variabel didefinisikan dengan var, itu bersifat lokal untuk ruang lingkupnya dan global untuk fungsi apa pun yang didefinisikan dalam ruang lingkupnya. Jadi jika itu didefinisikan dalam suatu fungsi maka itu hanya bekerja di dalam fungsi itu, namun, jika fungsi lain untuk beberapa alasan didefinisikan dalam fungsi tersebut, maka variabel tersebut akan bersifat global ke fungsi yang baru dibuat
Yang dengan jelas menjelaskan bagaimana metode ini bekerja…
Pada artikel ini, kita akan menjelajahi variabel global dan cara menggunakannya dalam JavaScript. Namun sebelum beralih menggunakannya, mari kita lihat cara mendeklarasikan variabel
Variabel dapat dideklarasikan sebagai variabel global atau variabel lokal. Setiap variabel memiliki ruang lingkup yang terkait dengannya di mana ia dapat digunakan. Kita dapat mendeklarasikan variabel dengan menggunakan kata kunci varvar, let , dan const. Sebelum ES6 hanya kata kunci var yang dapat digunakan untuk deklarasi
Variabel global memiliki cakupan global dan dapat diakses dari mana saja dalam program atau aplikasi. Variabel-variabel ini dideklarasikan di bagian utama kode sumber dan di luar semua fungsi. Variabel-variabel ini diperbolehkan untuk digunakan oleh setiap fungsi
Variabel global dideklarasikan di awal blok (atas program)
Catatan - Jika Anda menetapkan nilai ke variabel dan lupa mendeklarasikan variabel itu, maka secara otomatis akan dianggap sebagai variabel global
Contoh 1
Pada contoh di bawah ini, kita akan mendeklarasikan variabel global dan melihat apakah variabel tersebut dapat diakses oleh fungsi yang berbeda atau tidak
# indeks. html
Welcome To Tutorials PointKeluaran
Program di atas akan menghasilkan keluaran sebagai berikut
Contoh 2
Dalam contoh di bawah ini, kami mendeklarasikan variabel global menggunakan objek jendela di dalam fungsi dan mencoba mengakses variabel ini dari dalam fungsi lain
Di era JavaScript pra-ES6 yang lama, pengembang biasa mendeklarasikan variabel menggunakan kata kunci var atau tanpa kata kunci apa pun. Tapi waktu telah berubah
Dengan ES6 (EcmaScript 2015), awal era modern dalam JavaScript, bahasa tersebut mendapatkan dua kata kunci baru untuk membantu kami mendeklarasikan variabel. Ini adalah let dan { let name = "alex"; } 0
Pada artikel ini, kita akan belajar tentang semua kata kunci ini (ya, termasuk var) dengan contoh, dan kita akan melihat kapan menggunakannya, dan kapan tidak menggunakannya
Jika Anda juga suka belajar dari konten video, artikel ini juga tersedia sebagai tutorial video YouTube di sini. 🙂
Btw, ini adalah topik yang banyak dibicarakan. Lalu, mengapa menulis tentang itu lagi?
- Banyak pengembang mencoba menggunakannya secara bergantian (terutama let dengan dua lainnya)
- Terkadang, Anda mungkin bingung tentang hubungan kata kunci ini dengan konsep dasar JavaScript yang disebut { let name = "alex"; } 3
Jadi, artikel ini bertujuan untuk mengajarkan kata kunci tersebut dalam konteks tiga konsep penting. Saya harap Anda menikmati membacanya
Cara Mendeklarasikan Variabel di JavaScript
Dalam JavaScript, kita dapat mendeklarasikan variabel dengan tiga cara berbeda seperti ini
// Without keywords. It is essentially the same as var // and not allowed in 'strict' mode. name = 'Jack'; // Using var var price = 100; // Using let let isPermanent = false; // Using const const PUBLICATION = 'freeCodeCamp'Sebaiknya Anda memahami var, let, dan const dengan ketiga konsep ini
- Cakupan
- Menugaskan ulang nilai baru
- Saat Anda mengakses variabel sebelum mendeklarasikannya
Kata kunci ini berbeda dalam penggunaan sehubungan dengan konsep-konsep ini. Mari kita lihat caranya
Cakupan Variabel dalam JavaScript
Dalam JavaScript, kami menggunakan cakupan sebagai cara untuk mengidentifikasi di mana dan apakah kami dapat menggunakan variabel. Variabel mungkin ada di dalam blok, di dalam fungsi, atau di luar fungsi dan blok
Jadi, apa itu blok? . }). Sesuatu seperti ini
{ let name = "alex"; } _Di sisi lain, fungsi adalah sekumpulan instruksi kode yang ingin Anda tempatkan secara logis
Biasanya, Anda mendefinisikan fungsi menggunakan kata kunci { let name = "alex"; } _4 dan nama. Ketahuilah bahwa Anda dapat menentukan fungsi tanpa nama, yang kami sebut { let name = "alex"; } 5. Tapi kami tidak akan membahasnya di artikel hari ini untuk kesederhanaan
Ini adalah fungsi dengan nama { let name = "alex"; } _6
function test() { let name = "alex"; } _Apa pun dan segala sesuatu di luar blok atau fungsi yang akan kami panggil { let name = "alex"; } 7. Jadi, ketika kita mendeklarasikan variabel, mereka bisa ada di dalam blok, di dalam fungsi, atau di luar blok/fungsi – yaitu, mereka memiliki cakupan global
Terutama ada tiga jenis ruang lingkup
- Lingkup Blok
- Lingkup Fungsional
- Lingkup Global
Tiga kata kunci var, let, dan { let name = "alex"; } 0 bekerja di sekitar cakupan ini. Jadi mari kita pahami bagaimana segala sesuatunya cocok satu sama lain
Cara Menggunakan Variabel JavaScript di Block Scope
Jika Anda tidak ingin variabel yang dideklarasikan di dalam blok function test() { let name = "alex"; } 1 diakses di luar blok, Anda perlu mendeklarasikannya menggunakan kata kunci let atau { let name = "alex"; } 0. Variabel yang dideklarasikan dengan kata kunci var di dalam blok function test() { let name = "alex"; } 1 juga dapat diakses di luar blok. Jadi berhati-hatilah
Mari kita ambil contoh
{ let f_name = 'Alex'; const ZIP = 500067; var age = 25; } console.log(f_name); // Uncaught ReferenceError: f_name is not defined console.log(ZIP); // Uncaught ReferenceError: ZIP is not defined console.log(age); // 25Seperti yang Anda lihat, nilai variabel usia mungkin diganti tanpa disadari dan akhirnya menimbulkan bug. Jadi, pesan moral dari cerita ini adalah,
Jangan gunakan kata kunci var di dalam blok (cakupan blok). Selalu gunakan let dan { let name = "alex"; } 0 sebagai gantinya
Cara Menggunakan Variabel JavaScript dalam Lingkup Fungsional
Variabel yang dideklarasikan di dalam fungsi menggunakan kata kunci ini tidak dapat diakses di luar fungsi. Itulah ruang lingkup fungsional yang diterapkan
Memang benar terlepas dari apakah Anda menggunakan var, let, atau const. Di dalam fungsi, mereka sangat mirip dalam mengelola ruang lingkup variabel
Mari kita ambil contoh lagi
// f1() is a function function f1() { let f_name = "Alex"; const ZIP = 560089; var age = 25; } f1(); console.log(f_name); // Uncaught ReferenceError: f_name is not defined console.log(ZIP); // Uncaught ReferenceError: ZIP is not defined console.log(age); // Uncaught ReferenceError: age is not definedSeperti yang Anda lihat di atas, tidak ada variabel yang dapat diakses di luar fungsi, bahkan function test() { let name = "alex"; } 9 yang dideklarasikan menggunakan var. Jadi, kesimpulannya adalah,
Variabel yang dideklarasikan dengan var di dalam suatu fungsi tidak dapat diakses di luarnya. Kata kunci var memiliki ruang lingkup fungsi
Cara Menggunakan Variabel JavaScript di Lingkup Global
Variabel yang dideklarasikan di luar fungsi dan blok apa pun adalah { let f_name = 'Alex'; const ZIP = 500067; var age = 25; } console.log(f_name); // Uncaught ReferenceError: f_name is not defined console.log(ZIP); // Uncaught ReferenceError: ZIP is not defined console.log(age); // 253 dan dikatakan memiliki { let f_name = 'Alex'; const ZIP = 500067; var age = 25; } console.log(f_name); // Uncaught ReferenceError: f_name is not defined console.log(ZIP); // Uncaught ReferenceError: ZIP is not defined console.log(age); // 254. Ini berarti Anda dapat mengaksesnya dari bagian mana pun dari program JavaScript saat ini
Anda dapat menggunakan var, let, dan { let name = "alex"; } 0 untuk mendeklarasikan variabel global. Tapi sebaiknya jangan terlalu sering
let f_name = "Alex"; const ZIP = 560089; var age = 25; // f1() is a function function f1() { console.log(f_name); // Alex console.log(ZIP); // 560089 console.log(age); // 25 } f1(); console.log(f_name); // Alex console.log(ZIP); // 560089 console.log(age); // 25Seperti yang Anda lihat, variabel dapat diakses di mana saja
Jadi, untuk membatasi ruang lingkup variabel menggunakan kata kunci var, let, dan { let name = "alex"; } 0, berikut urutan aksesibilitas dalam ruang lingkup dimulai dari yang terendah
- var. Tingkat lingkup fungsional
- let. Tingkat cakupan blok
- { let name = "alex"; } _0. Tingkat cakupan blok
Gambar di bawah menunjukkan mindmap dari ketiga kata kunci ini dengan mengacu pada cakupan yang berbeda
Mari beralih ke konsep berikutnya untuk memahami bagaimana ketiga kata kunci ini memengaruhi perilaku kode saat kita menetapkan kembali nilai baru ke variabel
Cara Menetapkan Ulang Nilai Baru ke Variabel dalam JavaScript
Setelah Anda mendeklarasikan variabel dengan var atau let, Anda dapat menetapkan kembali nilai baru ke variabel dalam alur pemrograman Anda. Dimungkinkan jika variabel dapat diakses untuk menetapkan nilai. Tetapi dengan { let name = "alex"; } _0, Anda tidak dapat menetapkan kembali nilai baru sama sekali
// Declare variables with initial values let f_name = "Alex"; const ZIP = 560089; var age = 25; // Reassign values f_name = "Bob"; // the f_name value is 'Bob" ZIP = 65457; // Uncaught TypeError: Assignment to constant variable. age = 78; // the age value is 78Ada bagian yang sulit dengan { let name = "alex"; } _0 yang harus Anda ketahui. Saat objek dideklarasikan dan diberi nilai dengan { let name = "alex"; } 0, Anda masih dapat mengubah nilai // f1() is a function function f1() { let f_name = "Alex"; const ZIP = 560089; var age = 25; } f1(); console.log(f_name); // Uncaught ReferenceError: f_name is not defined console.log(ZIP); // Uncaught ReferenceError: ZIP is not defined console.log(age); // Uncaught ReferenceError: age is not defined9 nya. Tetapi Anda tidak dapat menugaskan kembali nilai objek lain ke variabel yang sama. Ini adalah kesalahan umum yang dilakukan banyak developer
Lihat contohnya di sini
const blog = { 'url': '//greenroots.info' } blog.url = '//blog.greenroots.info"; //Allowed blog = {}; // Uncaught TypeError: Assignment to constant variable.Berikut adalah peta pikiran untuk membantu Anda memahami cara kerja penugasan ulang untuk variabel yang dideklarasikan dengan tiga kata kunci ini
Yang Terjadi Saat Anda Mengakses Variabel Sebelum Mendeklarasikannya di JavaScript
Sebagai pemrogram pragmatis, Anda tidak boleh mencoba mengakses variabel tanpa mendeklarasikannya. Tetapi jika itu terjadi, mari kita lihat bagaimana perilaku variabel tersebut
Dengan var dalam mode tidak ketat, variabel akan memiliki nilai let f_name = "Alex"; const ZIP = 560089; var age = 25; // f1() is a function function f1() { console.log(f_name); // Alex console.log(ZIP); // 560089 console.log(age); // 25 } f1(); console.log(f_name); // Alex console.log(ZIP); // 560089 console.log(age); // 251. Ini berarti bahwa variabel telah dideklarasikan tetapi tidak memiliki nilai yang ditetapkan
Dalam mode ketat, Anda akan mendapatkan let f_name = "Alex"; const ZIP = 560089; var age = 25; // f1() is a function function f1() { console.log(f_name); // Alex console.log(ZIP); // 560089 console.log(age); // 25 } f1(); console.log(f_name); // Alex console.log(ZIP); // 560089 console.log(age); // 252 yang variabelnya tidak dideklarasikan
Dengan let dan { let name = "alex"; } 0, jika Anda mencoba mengakses variabel sebelum mendeklarasikan, Anda akan selalu mendapatkan let f_name = "Alex"; const ZIP = 560089; var age = 25; // f1() is a function function f1() { console.log(f_name); // Alex console.log(ZIP); // 560089 console.log(age); // 25 } f1(); console.log(f_name); // Alex console.log(ZIP); // 560089 console.log(age); // 252
Ini peta pikiran lagi untuk membantu Anda memahaminya secara visual. Dalam peta pikiran, _______ 39 _______ digambarkan untuk mode non-ketat
Itu saja, teman-teman. Anda perlu mempertimbangkan keadaan dan konsep ini untuk mengevaluasi bagaimana var, let, dan { let name = "alex"; } 0 berperilaku. Jadi, aturannya berjalan
- Jangan gunakan var lagi
- Gunakan let atau { let name = "alex"; } 0
- Gunakan { let name = "alex"; } _0 lebih sering. Gunakan let saat Anda perlu menetapkan kembali nilai lain ke variabel
- Jangan mencoba mengakses variabel tanpa mendeklarasikannya
Sebelum Kita Berakhir
Itulah kisah di balik let, { let name = "alex"; } 0, dan var. Saya harap Anda menemukan artikel ini berwawasan dan informatif. DM saya buka di // Declare variables with initial values let f_name = "Alex"; const ZIP = 560089; var age = 25; // Reassign values f_name = "Bob"; // the f_name value is 'Bob" ZIP = 65457; // Uncaught TypeError: Assignment to constant variable. age = 78; // the age value is 788 jika ingin berdiskusi lebih lanjut
Mari terhubung. Saya membagikan pembelajaran saya tentang JavaScript, Pengembangan Web, dan Blogging di platform ini juga
- Ikuti saya di Twitter
- Berlangganan ke Saluran YouTube saya
- Proyek sampingan di GitHub
Sampai jumpa lagi di artikel saya selanjutnya. Sampai saat itu, tolong jaga dirimu, dan tetap bahagia
IKLAN
IKLAN
IKLAN
IKLAN
IKLAN
IKLAN
IKLAN
IKLAN
Penulis. YouTuber. Pencipta. Mentor
Jika Anda membaca sejauh ini, tweet ke penulis untuk menunjukkan bahwa Anda peduli. Tweet terima kasih
Belajar kode secara gratis. Kurikulum open source freeCodeCamp telah membantu lebih dari 40.000 orang mendapatkan pekerjaan sebagai pengembang. Memulai