let和var关键字的区别 – TypeScript开发教程

上一章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和var关键字的区别 – TypeScript开发教程

文章图片
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

输出:
【let和var关键字的区别 – TypeScript开发教程】上面的代码片段抛出一个错误,因为变量“hello”没有全局定义。
let和var关键字的区别 – TypeScript开发教程

文章图片
var vs let关键字
编号 var let
1. var关键字是用JavaScript引入的。 let关键字是在ES6 (ES 2015)版JavaScript中添加的。
2. 它具有全局范围。 它被限制在块范围内。
3. 它可以全局声明,也可以全局访问。 它可以全局声明,但不能全局访问。
4. 使用var关键字声明的变量可以在同一范围内重新声明和更新。例子:function varGreeter(){vara = 10; vara = 20; //a is replacedconsole.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; }

    推荐阅读