JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了深入浅出ES6之let和const命令大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

let和const声明的变量只在代码块内有效

{ let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1

不存在变量提升

变量一定要在声明后使用,否则报错

(true) { tmp = 'abc'; // ReferenceError let tmp; }

不允许重复声明

{ let a = 10; var a = 1; }

块级作用域

{ console.log('I am outside!'); } (function () { if(false) { // 重复声明一次函数f function f() { console.log('I am inside!'); } } f(); }()); //I am inside! ES5 函数提升 //I am outside! ES6 块级作用域

const命令

声明一个只读的常量,一旦声明,常量的值就不能改变

一旦声明变量,就必须立即初始化,不能留到以后赋值

let命令、const命令、class命令声明的全局变量,不属于全局对象的属性

在Node的REPL环境,可以写成global.a // 或者采用通用方法,写成this.a window.a // 1 let b = 1; window.b // undefined

下面再单独给大家介绍ES6之const命令

一直以来以ecma为核心的js始终没有常量的概念,es6则弥补了这一个缺陷;

上例声明了一个基本类型的常量,如过试图修改初始值则会报错;如果是引用类型的值同样适用,但是有一点需要注意,举例说明:

正常报错,没毛病,再看:

这怎么没报错?而且还能修改成功? 这两个例子不一样的地方在于前者是修改了指针(需熟悉js 引用类型)对应的内容改变了,后者则不是指向依然没变 但是指向对象的内容发生改变了,对于foo而言我只是一个指针负责指向对应的对象 至于对象内容是什么就不管我的事了所以可以修改;如果不想让内容也改变也行使用另一个方法;

ject.freeze([1,3]); foo[1]=4; console.log(foo)//[1,3]

这样就不用担心被修改了;

大佬总结

以上是大佬教程为你收集整理的深入浅出ES6之let和const命令全部内容,希望文章能够帮你解决深入浅出ES6之let和const命令所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:constes6let