TypeScript 学习笔记 —— var, let, const

文章详细对比了TypeScript中var、let和const的用法,重点讨论了它们的作用域差异。var具有函数作用域,可以在声明前使用,且允许同名变量重声明;let则是块作用域,不允许同名变量声明,并有防止变量提升的效果;const同样遵循块作用域,但其值不可更改。在嵌套作用域中,let还有屏蔽功能,这在var中不存在。
摘要由CSDN通过智能技术生成

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 可以声明同名变量,但 let 不可以

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 在嵌套作用域中,let 还具有屏蔽功能

var

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
}

let

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

const 拥有与 let 相同的作用域规则,但是不能对它们重新赋值

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值