首页 前端知识 TypeScript 学习笔记 —— var, let, const

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

2024-08-08 22:08:31 前端知识 前端哥 723 148 我要收藏

文章目录

  • 1.相同点
  • 2.不同点
    • 2.1 var 是函数作用域,let 是块作用域
    • 2.2 var 可以声明同名变量,但 let 不可以
    • 2.3 let 不能在声明之前访问该变量,但是 var 可以
    • 2.4 在嵌套作用域中,let 还具有屏蔽功能
      • var
      • let
  • 3.const

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 相同的作用域规则,但是不能对它们重新赋值

转载请注明出处或者链接地址:https://www.qianduange.cn//article/15036.html
标签
评论
发布的文章

安装Nodejs后,npm无法使用

2024-11-30 11:11:38

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!