Var
var a = 11; { var a = 8; }; console.log(a);// 8 ------------------------------------------------------------------------- var a = 11; { a = 28; }; console.log(a);// 28
Pembolehubah yang diisytiharkan dengan var berada dalam skop global. Kita boleh mengakses pembolehubah var walaupun di luar blok kerana ia tidak berskop blok. Selain itu, kami boleh mengisytiharkan semula dan menetapkan semula pembolehubah var di dalam dan di luar blok.
Biar
{ let a = 24; } console.log(a);// ReferenceError: a is not defined ------------------------------------------------------------------------- { let a = 24; console.log(a);// 24 } ------------------------------------------------------------------------- { let a = 24; a = 20; console.log(a);// 20 }// ------------------------------------------------------------------------- { let a = 24; let a = 20; console.log(a);//SyntaxError: Identifier 'a' has already been declared } ------------------------------------------------------------------------- let a = 20; { let a = 24; console.log(a);// 24 }
let mempunyai ruang memori dan skop blok yang berasingan. Pembolehubah yang diisytiharkan dengan let tidak boleh diakses di luar blok kerana ia tidak berada dalam skop global. Kita boleh menetapkan semula pembolehubah let. Walau bagaimanapun, kami tidak boleh mengisytiharkan semula pembolehubah yang sama dalam blok yang sama, tetapi kami boleh mengisytiharkannya semula dalam blok yang berbeza.
Konst
{ const x = 4; } console.log(x);//ReferenceError: x is not defined ------------------------------------------------------------------------- { const x = 4; console.log(x) ;// 4 } ------------------------------------------------------------------------- { const x = 4; const x = 2; } console.log(x);//SyntaxError: Identifier 'x' has already been declared ------------------------------------------------------------------------- { const x = 4; } const x = 2; console.log(x);// 2 ------------------------------------------------------------------------- const x = 2;// we can access the global(x) { const x = 4; // we cannot access the outside block } console.log(x);// 2
const mempunyai ruang memori yang berasingan dan berskop blok. Setelah nilai diisytiharkan dan dimulakan dengan const, nilai itu tidak boleh diisytiharkan semula atau ditetapkan semula. Kami tidak boleh mengakses pembolehubah const di luar bloknya kerana ia tidak berada dalam skop global. Kami tidak boleh mengisytiharkan semula pembolehubah dalam blok yang sama, tetapi kami boleh mengisytiharkannya semula di luar blok.
Atas ialah kandungan terperinci Var Vs Let Vs Const. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!