博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6笔记
阅读量:2246 次
发布时间:2019-05-09

本文共 1050 字,大约阅读时间需要 3 分钟。

一、let、const

     1、let    不存在变量提升,暂时性死区

     2、块级作用域的出现,实际上使得获得广泛应用的立即执行函数表达式(IIFE)不再必要了。         

1 // IIFE 写法 2 (function () { 3   var tmp = ...; 4   ... 5 }()); 6  7 // 块级作用域写法 8 { 9   let tmp = ...;10   ...11 }

        3、const申明的是只读的常量,一旦申明,无法改变。一旦申明,就必须初始化,不能后期赋值

        4、const命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。

        5、const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指针,const只能保证这个指针是固定的,至于它指向的数据结构是不是可变的,就完全不能控制了。因此,将一个对象声明为常量必须非常小心。

         6、顶层对象,在浏览器环境指的是window对象,在Node指的是global对象。ES5之中,顶层对象的属性与全局变量是等价的。

         7、ES6一方面规定,为了保持兼容性,var命令和function命令声明的全局变量,依旧是顶层对象的属性;另一方面规定,let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性。也就是说,从ES6开始,全局变量将逐步与顶层对象的属性脱钩。

          8、global对象

二、变量的解构赋值

对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

三、扩展运算符(...)

四、字符串模板 (${})

五、新增的一些数组方法  Array.from()、Array.of()、find()、fill()、for...of

六、箭头函数

七、ES6中的对象

八、Symbol

九、set数据结构,和java里面的set一样

十、map数据结构,和java里面的map一样

十一、Proxy进行预处理

十二、Promise

十三、class 仿照的java里面的

十四、import 和export

转载于:https://www.cnblogs.com/zhaobao1830/p/7542092.html

你可能感兴趣的文章
BaseServiceImpl中的实现关键点
查看>>
Struts2中的session、request、respsonse获取方法
查看>>
如何理解MVC模型
查看>>
SpringMVC中乱码解决方案
查看>>
SpringMVC中时间格式转换的解决方案
查看>>
post和get请求相关知识点
查看>>
关于try finally 中的return语句的问题
查看>>
RequestBody/ResponseBody处理Json数据
查看>>
springmvc请求参数获取的几种方法
查看>>
在eclipse中创建和myeclipse一样的包结构
查看>>
Java中的IO流
查看>>
java中的关键字
查看>>
如果某个方法是静态的,它的行为就不具有多态性
查看>>
优化Hibernate所鼓励的7大措施
查看>>
Java 8系列之重新认识HashMap
查看>>
HashMap 、 ArrayList、String 重写了equals方法 而Object类(比如User)没有重写
查看>>
Servlet的生命周期
查看>>
Object中的getClass()返回的是当前运行的类
查看>>
加载驱动程序的方法
查看>>
深入理解java异常处理机制
查看>>