码迷,mamicode.com
首页 > 其他好文 > 详细

es6 let和const总结归纳

时间:2019-01-18 18:32:05      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:运行   class   window   函数声明   重复   内存地址   属性   const   let和const   

es6声明变量的6中方法:var   function    let      const   import   class 

 

let和const相同部分:

  1. 存在块级作用域;
  2. 不存在变量提升,但var会提升;
  3. 暂时性死区;
  4. 不允许重复声明。

let:

   块级作用域与函数声明

  1. es5规定,函数只能在顶层作用域和函数作用域之中声明;
  2. 在es6中,允许块级声明函数,只在使用大括号()情况下成立,函数声明类似var,即会提升到全局作用域或函数作用域的头部。应避免在块级作用域声明函数,如需要,应写成函数表达式,而不是声明函数语句;
  3. 同时,函数声明还会提升到块级作用域的头部。

const:

  1. 本质:不是变量的值不动,而是变量指向的那个内存地址不得改动
  2. 一旦声明,就必须立即初始化

顶层对象:

  • 浏览器环境:window对象      Node环境:global对象
    •   es5中,顶层对象的属性与全局变量是等价的
    • es6规定,var和function命令声明的全局变量,依旧是顶层对象的属性,let const class 声明的全局变量,不属于顶层对象属性,已脱勾

global对象:

  • 全局环境中的this,指顶层对象
  • node和es6模块中的this,指向当前模块
  • 函数中的this,如果函数不是作为对象的方法运行,而是单纯作为函数运行,this会指向顶层对象。

es6 let和const总结归纳

标签:运行   class   window   函数声明   重复   内存地址   属性   const   let和const   

原文地址:https://www.cnblogs.com/feng-xl/p/10288966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!