Rumah > hujung hadapan web > tutorial js > Apakah perbezaan antara let, var atau const?

Apakah perbezaan antara let, var atau const?

PHPz
Lepaskan: 2024-08-22 19:08:45
asal
529 orang telah melayarinya

What are the differences between let, var or const?

Pembolehubah yang diisytiharkan menggunakan kata kunci var diskop kepada fungsi di mana ia dicipta, atau jika dicipta di luar mana-mana fungsi, kepada objek global. let dan const adalah berskop blok, bermakna ia hanya boleh diakses dalam set pendakap kerinting yang terdekat (fungsi, blok if-else atau gelung untuk).

function foo() {
  // All variables are accessible within functions.
  var bar = 'bar';
  let baz = 'baz';
  const qux = 'qux';

  console.log(bar); // bar
  console.log(baz); // baz
  console.log(qux); // qux
}

console.log(bar); // ReferenceError: bar is not defined
console.log(baz); // ReferenceError: baz is not defined
console.log(qux); // ReferenceError: qux is not defined

if (true) {
  var bar = 'bar';
  let baz = 'baz';
  const qux = 'qux';
}

// var declared variables are accessible anywhere in the function scope.
console.log(bar); // bar
// let and const defined variables are not accessible outside the block they were defined in.
console.log(baz); // ReferenceError: baz is not defined
console.log(qux); // ReferenceError: qux is not defined
Salin selepas log masuk

var membenarkan pembolehubah dinaikkan, bermakna ia boleh dirujuk dalam kod sebelum ia diisytiharkan. let dan const tidak akan membenarkan ini, sebaliknya melontarkan ralat.

console.log(foo); // undefined

var foo = 'foo';

console.log(baz); // ReferenceError: can't access lexical declaration 'baz' before initialization

let baz = 'baz';

console.log(bar); // ReferenceError: can't access lexical declaration 'bar' before initialization

const bar = 'bar';
Salin selepas log masuk

Mengisytiharkan semula pembolehubah dengan var tidak akan menimbulkan ralat, tetapi let dan const akan.

var foo = 'foo';
var foo = 'bar';
console.log(foo); // "bar"

let baz = 'baz';
let baz = 'qux'; // Uncaught SyntaxError: Identifier 'baz' has already been declared
Salin selepas log masuk

let dan const berbeza dalam let itu membenarkan menetapkan semula nilai pembolehubah manakala const tidak.

// This is fine.
let foo = 'foo';
foo = 'bar';

// This causes an exception.
const baz = 'baz';
baz = 'qux';
Salin selepas log masuk

Atas ialah kandungan terperinci Apakah perbezaan antara let, var atau const?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan