TypeScript里,let与var有何关键差异?

更新于
2026-09-25 00:30:54
0阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计685个文字,预计阅读时间需要3分钟。

TypeScript里,let与var有何关键差异?

目录

1.作用域不同

2.let没有变量提升

3.let变量不能重复声明

4.for循环中的let与var

1. 作用域不同 2. 用var声明的变量,只有函数作用域和全局作用域,没有块级作用域

而let可以实现块级作用域。

目录
  • 1、作用域不同
  • 2、let没有变量提升
  • 3、let变量不能重复声明
  • 4、for循环中的let与var

TypeScript里,let与var有何关键差异?

1、作用域不同

用var声明的变量,只有函数作用域和全局作用域,没有块级作用域。而let可以实现块级作用域,只能在代码块{}内有效,在{}之外不能访问,如下代码所示:

{ let a = 0; var b = 1; } console.log(a) // ReferenceError: a is not defined console.log(b) // 1

2、let没有变量提升

在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为:暂时性死区,英文为:temporal dead zone,简称 TDZ。

阅读全文
标签:区别介绍

本文共计685个文字,预计阅读时间需要3分钟。

TypeScript里,let与var有何关键差异?

目录

1.作用域不同

2.let没有变量提升

3.let变量不能重复声明

4.for循环中的let与var

1. 作用域不同 2. 用var声明的变量,只有函数作用域和全局作用域,没有块级作用域

而let可以实现块级作用域。

目录
  • 1、作用域不同
  • 2、let没有变量提升
  • 3、let变量不能重复声明
  • 4、for循环中的let与var

TypeScript里,let与var有何关键差异?

1、作用域不同

用var声明的变量,只有函数作用域和全局作用域,没有块级作用域。而let可以实现块级作用域,只能在代码块{}内有效,在{}之外不能访问,如下代码所示:

{ let a = 0; var b = 1; } console.log(a) // ReferenceError: a is not defined console.log(b) // 1

2、let没有变量提升

在代码块内,使用let命令声明变量之前,该变量都是不可用的。这在语法上,称为:暂时性死区,英文为:temporal dead zone,简称 TDZ。

阅读全文
标签:区别介绍