面试题答案
一键面试使用let
声明
let loginCount: number = 0;
function loginSuccess() {
loginCount++;
}
使用const
声明
如果直接使用const
声明,不能满足每次登录成功加1的需求,因为const
声明的变量是常量,一旦赋值不能改变。如下代码会报错:
// 以下代码会报错,因为const声明的变量不能重新赋值
const loginCount: number = 0;
function loginSuccess() {
loginCount++; // 报错:Assignment to constant variable.
}
哪种声明方式更合适及原因
在这种场景下,let
声明方式更合适。因为需求是每次用户登录成功该变量加1,意味着变量的值需要被修改。而const
声明的变量一旦初始化后值就不能改变,无法满足这种需要动态更新计数的场景,let
声明的变量可以重新赋值,能够很好地实现用户登录次数动态增加的功能。