Since local variables are only recognized inside their functions, variables with the same name can be used in different functions. Show Local variables are created when a function starts, and deleted when the function is completed. Function ScopeJavaScript has function scope: Each function creates a new scope. Variables defined inside a function are not accessible (visible) from outside the function. Variables declared with They all have Function Scope: function myFunction() { function myFunction() { function myFunction() { Global JavaScript VariablesA variable declared outside a function, becomes GLOBAL. Examplelet carName = "Volvo"; function myFunction() { A global variable has Global Scope: All scripts and functions on a web page can access it. Global ScopeVariables declared Globally (outside any function) have Global Scope. Global variables can be accessed from anywhere in a JavaScript program. Variables declared with They all have Global Scope: var x = 2; // Global scope let x = 2; // Global scope const x = 2; // Global scope JavaScript VariablesIn JavaScript, objects and functions are also variables. Scope determines the accessibility of variables, objects, and functions from different parts of the code. Automatically GlobalIf you assign a value to a variable that has not been declared, it will automatically become a GLOBAL variable. This code example will declare a global variable Variabel juga bisa disebut sebagai wadah atau tempat untuk menyimpan nilai yang memiliki tipe data tertentu, seperti string (teks), number (angka), objek, array, dan sebagainya. Apa itu ES6Sekilas mengenai ES6, ES6 adalah kependekan dari EcmaScript 6, standarisasi kode Javascript bernama ECMAScript atau ES. dengan fitur let, const, Arrow Function, Spread properties dan spread operator, Class. Sebelum ES6 hanya ada satu cara untuk membuat variabel pada javascript yaitu : var x // declaration x = 1 // assignment atau bisa disingkat seperti ini : var x = 1; Pada kesempatan ini kita akan membahas var, let, dan const pada javascript.
Pembahasan VarPenggunaan var pada javascript adalah yang paling simple, tapi ada beberapa kasus atau kondisi yang akan membuat kita dibingungkan oleh var ini. contoh penggunaan var : // create variabel with Var var infoVar = "Create Variable with var"; console.log(infoVar); dari sintak diatas akan menghasilkan seperti ini : Create Variable with var Pembahasan LetCara kerja let hampir sama dengan var, bedanya di scope. contoh penggunaan let : // create variabel with let let infoLet = "Create Variable with let"; console.log(infoLet); dari sintak diatas akan menghasilkan seperti ini : Create Variable with let Pembahasan ConstConst atau Konstanta, dari namanya bisa di tebak. Variabel yang sifatnya tetap atau dengan kata lain nama dan isi dari variabel tidak bisa di ubah. contoh penggunaan const : // create variabel with const const infoConst = "Create Variable with const"; console.log(infoConst); dari sintak diatas akan menghasilkan seperti ini : Create Variable with const Baik teman-teman sudah mengetahui bagaimana cara menggunakan ketiga nya, berikutnya adalah kita coba bandingkan ketiga nya dengan tahap-tahap berikut ini : Reassign, Hoisting, dan Scope. REASSIGNReassign pada var var infoVar = "Create Variable with var"; // change value in var var infoVar = "Change Variable in var"; // reassign console.log(infoVar); Jika dilihat dari sintak diatas, apakah hasil dari console.log(infoVar) ? jawabanya adalah seperti ini : Change Variable in var kenapa bisa seperti itu? dikarenakan var ini dapat di reassign ulang seperti cara diatas. Namun di sisi lain ada hal yang cukup riskan jika di tulis dengan tidak sengaja. Reassign pada let let infoLet = "Create Variable with let"; // change value in let let infoLet = "Change Variable in let"; // reassign console.log(infoLet); Jika dilihat dari sintak diatas, apakah hasil dari console.log(infoLet) ? jawabanya adalah seperti ini : let infoLet = "Change Variable in let"; ^ SyntaxError: Identifier 'infoLet' has already been declared type error, dikarenakan infoLet sudah di deklarasikan. Reassign pada const // create variabel with const const infoConst = "Create Variable with const";
// change value in const const infoConst = "Change Variable in const"; // reassign console.log(infoConst); Jika dilihat dari sintak diatas, apakah hasil dari console.log(infoConst) ? jawabanya adalah seperti ini : const infoConst = "Change Variable in const"; ^ SyntaxError: Identifier 'infoConst' has already been declared type error, dikarenakan infoConst sudah di deklarasikan. selain itu memang sudah dilihat dari const atau konstan. HOISTINGHoisting pada var // hoisting x = 10; var x; console.log(x); // 10 Hoisting artinya mengangkat. Jadi di belakang layar sebenarnya mengangkat var x di angkat keatas menjadi seperti ini : // after hoisting var x; x = 10; console.log(x); // 10 terkadang hal tersebut juga dapat membuat kita bingung jika tidak teliti :). Hoisting pada let // hoisting in let b = 4; let b; console.log(b); // ReferenceError: Cannot access 'b' before initialization Hoisting pada const // hoisting in const c = 6; const c; console.log(c); // SyntaxError: Missing initializer in const declaration SCOPEBlock scope dalam javascript di tandai dengan simbol { }. Scope artinya pembagian program, ini sering di temui pada if, for, switch, while dan sebagainya. Scope pada var // scope in var var aa = 9; if(true) { var bb = 10; } console.log(bb); // 10 Scope pada let // scope in let let cc = 99; if(true) { let dd = 100; } console.log(dd); // ReferenceError: dd is not defined Scope pada const // scope in const const ee = 99; if(true) { const ff = 100; } console.log(ff); // ReferenceError: ff is not defined Baik teman-teman seperti itu adalah penggunaan var, let, dan const pada EcmaScript 6. Serta juga bagaimana perbedaan dari ketiga tersebut menggunakan reassign, hoisting, dan scope. Terimakasih sudah berkunjung dan membaca tulisan saya, mohon maaf jika terdapat kesalahan, silahkan diperbaiki dengan cara memberikan komentar.
|