🌞

Hồi 6: ES6 căn bản - Khai báo biến với let và const

Sửa bài viết này

Trong Series này

  1. Nâng cấp cho Object
  2. Arrow function
  3. Assignment Destruction
  4. Rest parameters và spread operator
  5. Template literals
  6. Khai báo biến với let và const
  7. Căn bản class

let dùng để khai báo một biến như var, khác nhau ở phạm vi hoạt động (scope), ví dụ với khai báo var

function isItTwo(value) {
    if (value == 2){
	    var two = true
    }
    return two
}
isItTwo(2)
// result: true
isItTwo('two')
// result: undefined

Đoạn khai báo var two = true nằm trong điều kiện if nhưng vẫn hoạt động, vì khai báo biến bằng từ khóa var có scope là function, chứ không có scope là block {} như các ngôn ngữ khác (như PHP)

function isItTwo( value ) {
	var two
    if (value == 2){
        two = true
    }
	return two
}
for ( let i = 0; i < 2; i++ ) {
 console.log(i)
 // 0,1
}
console.log(i)
// result: i is not defined

Khai báo biến bằng từ khóa let hay constblock-scope

const pi = 3.1415
{
  const pi = 16
  console.log(pi)
  // 16
}
console.log(pi)
// 3.1415

Khi khai báo bằng từ khóa const phải có giá trị khởi tạo, không được phép để rỗng như let

const pi = 3.1415
const e; // SyntaxError

Nếu dùng const để khai báo biến thì giá trị nó sẽ không được gán mới hoặc khởi tạo lại, nhưng có thể thêm giá trị vào

const people = ['An','Luu']
people = []
console.log(people)
// Result: ['An','Luu']
people.push('Binh')
console.log(people)
// Result['An','Luu','Binh']

Tổng kết

GẮN LẠI KHAI BÁO LẠI FUNCTION SCOPE BLOCK SCOPE GLOBAL SCOPE
var
let
const

Initializing...