上一章TypeScript教程请查看:TypeScript使用变量
var关键字
var语句用于在JavaScript中声明一个变量,用var关键字声明的变量将在整个程序中定义。
例子
var greeter = "Hola hi";
var times = 5;
if (times > 3) {
var greeter = "Say Hello srcmini";
}
console.log(greeter)
let关键字
let语句用于在TypeScript中声明一个局部变量。它类似于var关键字,但是与var关键字相比,它的作用域有一些限制。let关键字可以增强代码的可读性,并减少编程出错的机会,使用let关键字声明的变量仅限于块作用域。
注意:var和let的关键区别不在于语法,而在于语义。
例子
let greeter = "hola";
let times = 5;
if (times > 3) {
let hello = "Say Hello srcmini";
console.log(hello)
}
console.log(hello) // Compile error: greeter is not defined
输出:
上面的代码片段抛出一个错误,因为变量“hello”没有全局定义。
var vs let关键字
编号 | var | let |
1. | var关键字是用JavaScript引入的。 | let关键字是在ES6 (ES 2015)版JavaScript中添加的。 |
2. | 它具有全局范围。 | 它被限制在块范围内。 |
3. | 它可以全局声明,也可以全局访问。 | 它可以全局声明,但不能全局访问。 |
4. | 使用var关键字声明的变量可以在同一范围内重新声明和更新。 例子: function varGreeter(){ var a = 10; var a = 20; //a is replaced console.log(a); } varGreeter(); | 使用let关键字声明的变量可以更新,但不能重新声明。 例子: function varGreeter(){ let a = 10; let a = 20; //SyntaxError: //Identifier ‘a’ has already been declared console.log(a); } varGreeter(); |
5. |
这是提升的。 Example: { console.log(c); // undefined. //提升 var c = 2; } |
不提升 Example: { console.log(b); // ReferenceError: //b is not defined let b = 3; } |
评论前必须登录!
注册