Trong Series này
- Nâng cấp cho Object
- Arrow function
- Assignment Destruction
- Rest parameters và spread operator
- Template literals
- Khai báo biến với let và const
- 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 const
có block-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...