Каталог статей
1. Сходства
var, let, const — все методы объявления переменных в TypeScript.
2. Отличия
2.1 var — область действия функции, let — область действия блока
// var 作用域
for(var i = 1; i < 2; i++){
}
console.log(i); // 2
// let 作用域
for(let j = 1; j < 2; j++){
}
console.log(j); // 报错,找不到名称 j
2.2 var может объявлять переменные с одинаковыми именами, но не может
var a = 0; var a = 1; // 不会报错
let b = 0; let b = 1; // 会报错
2.3 let не может получить доступ к переменной перед объявлением, но var может
// var 声明之前访问变量
console.log(a); // undefined
var a = "a";
// let 声明之前访问变量
console.log(b); // 报错
let b = "b";
2.4 Во вложенной области пусть также имеет функцию экранирования
был
function totalMatrix(matrix: number[][]){
let sum = 0;
for(var i = 0; i < matrix.length; i++){
var curRow = matrix[i];
for(var i = 0; i < curRow.length; i++){
sum += curRow[i];
}
}
return sum; // sum = 6
}
позволять
function totalMatrix(matrix: number[][]){
let sum = 0;
for(let i = 0; i < matrix.length; i++){
var curRow = matrix[i];
for(let i = 0; i < curRow.length; i++){
sum += curRow[i];
}
}
return sum; // sum = 45
}
3.конст
const имеет те же правила области действия, что и let, но их нельзя переназначить.