Typescript, ES6, Tra
Transpile: chuyển đổi từ ngôn ngữ này sang ngôn ngữ khác chứ không có runtime
let
biến tạo từ let không nằm trong global scope
biến tạo từ let chỉ nằm trong block scope của chính nó
let myVar = 1;
{
let myVar = 2;
console.log(myVar); // 2
{
for (let myVar = 4; myVar > 3; myVar--) {
console.log(myVar); // 4
}
}
}
console.log(myVar); // 1
const
tạo rồi là không thể thay đổi
mặc dù vậy, có thể đổi giá trị bên trong nó
const cũng bị giới hạn trong chính block scope của nó
const myVar = 1;
myVar = 2; // báo lỗi, đổi reference point trong memory
const myVar = { name: 'Tony' };
myVar.name = 'Alex'; // có thể đổi được, vì reference vẫn không đổi
// thường đặt tên const là viết hoa
const MY_VAR = 1;
