浅析Js中const,let,var的区别及作用域

结论:
var:功能级别或全局范围,可以提升、重复和重新分配。

let:块级作用域,无提升,无多重声明和重新分配。

const:块级作用域,不可提升,不可重复声明,不可重新赋值,但对象属性可以修改。

let 和 const 不会在全局范围内创建窗口属性。

ts和js中let和var定义变量的区别

TypeScript 和 JavaScript 之间的真正区别在于使用 let 和 var 定义变量。
让我来帮你解决一下。

Var是一个可以“改进”的东西。
例如,你这样写: javascript 控制台.log(a); // 未定义 var a = 1 0;
实际上等价于: javascript 挂一个; 控制台.log(a); // 未定义 a = 1 0;
变量声明在范围内引发,但未遵循赋值。
因此,如果事先使用的话,会得到undefined,也不会报错。

le是不同的。
你这样写: javascript 控制台.log(b); // 引用错误:初始化前无法访问“b” let b = 2 0;
这里会直接报错。
由于权限语句未引发,因此它位于块字段的顶部。
没有声明,提前使用吗?这不行,直接报bug就可以了。

还有重复陈述的问题。
您可以使用变量: javascript var c = 3 0; var c = 4 0; // 这不是问题。
后面的内容重写了前面的内容。
但让它不起作用: javascript 令 d = 5 0; 设 d = 6 0; // 这会报一个SyntaxError
锁的意图也是一个关键点。
var 是函数作用域或全局作用域,它与块无关。
例如: javascript 如果(真){ 变量 e = 7 0; } 控制台.log(e); // 7 0,可以在
文件之外使用,但不能: javascript 如果(真){ 令 f = 8 0; } 控制台.log(f); // 错误,f 不存在
对未声明变量的访问也发生了变化。
如果声明了 var 但未赋值,则该方法是未定义的。
let 不声明直接访问,直接报错: javascript 挂g; // 这声明了 控制台.log(g); // 未定义
let h; // 这还没有被声明 控制台.log(h); // ReferenceError
说实话,我现在写代码基本都是用let。
Var很容易陷入麻烦,尤其是在大型项目中。
就块布局而言,使用纸张可以省去很多麻烦。

js中的var声明的作用

var 是声明变量的老式方法。

全局范围:在函数之外声明;整个脚本是可见的。
示例:var a = 1 ; js 文件可以在整个过程中使用。

局部作用域:在函数内部声明;仅在该函数内可用。
示例:函数 test() { var b = 2 ; } b 无法从外部访问。

变量提升:var声明将提升到作用域顶部,但赋值不会改变。
示例: use() { console.log(c); var c = 3 ;未定义的输出。

多重声明:同一作用域内的var可以重复声明;后续公告将被覆盖。
var x = 1 ; var x = 2 ; x 为 2
重新声明:用 var 制作的变量可以重复声明,并且值不会改变。
var y = 1 0;各不相同; y 仍然是 1 0
与 let/const 相比:具有块级作用域;不得晋升,且不能重复申报。
const 是块级的,必须初始化,并且不能更改。

提示:使用let/const代替var,以避免随机提升和全局污染。

给自己计时。