美文网首页日常刻书
谈谈 ES6 中的变量

谈谈 ES6 中的变量

作者: F_wind | 来源:发表于2021-01-16 09:12 被阅读0次

《深入理解ES6》阅读随笔

前言碎语:自 ES6 在 2015 年发布以来,笔者零星陆续用过 ES6 的一些新特性,但掌握不够系统,时隔 5 年才开始重新学习,确实惭愧。本轮阅读先整体了解,后面再抽时间并结合自身工作情况,以达到逐步深入理解的目标。
背景:作为动态语言的 Javascript ,具有使用灵活的优势,但也正因为如此,存在一些约束不明确的情况。Javascript 之所以能流行并存活这么久, ECMA 规范功不可没。但之前的版本迭代非常缓慢,功能演进很小。在第四版时虽然新增了很多内容,但是由于各种原因,大家分歧很多,并没有正式发布出来。所以现在常用且存活多年的 ES5(2009-2015)其实是 ES3 的一个升级版。本次 ES6 的发布,显著解决了多年来积存的问题,并且还制定了以后每年规律发版的方针,确实振奋人心。
var:ES5 中声明变量 / 常量的关键字是 var ,声明以后,变量会自动提升到该作用域下的顶层位置,因此不管变量是否使用,都会创建。
let:在 ES6 中新增了使用 let 来声明变量的方式,该方式不会提升变量。在一个作用域内,在创建 let 变量之前,该变量会存在临时死区 TDZ(Temporal Dead Zone)中,直到声明以后才会真正创建。另外在 for 循环中,也不会存在递增数列只输出最后一条的问题。
const:const 是 ES6 中用来声明常量的关键字,除此之外,用法与 let 保持一致。
思考:分别使用新的 let / const 来替换 var,可以使代码逻辑更清晰规范,而且也避免掉了之前因作用域提升带来的困扰。

相关文章

  • 谈谈 ES6 中的变量

    《深入理解ES6》阅读随笔 前言碎语:自 ES6 在 2015 年发布以来,笔者零星陆续用过 ES6 的一些新特性...

  • js 变量提升(3)

    ### ES6中let创建的变量不存在变量提升 /* * 在ES6中基于let或者CONST等方式创建变量或者函数...

  • 前端面试大全之JS面试题篇

    目录 ES5 和 ES6 分别几种方式声明变量DOM 事件有哪些阶段?谈谈对事件代理的理解ES6 的 class ...

  • ES6语法

    ES6语法 1.ES5和ES6声明变量的方式对比 ES5中声明变量的方式: ES6中声明变量的方式: 2. var...

  • 前端进阶面试-JS面试题

    目录 ES5 和 ES6 分别几种方式声明变量 DOM 事件有哪些阶段?谈谈对事件代理的理解 ES6 的 clas...

  • es6重点介绍

    ES6 的变量声明 ES6 中新增了 let 和 const 来定义变量: var:ES5 和 ES6中,定义全局...

  • 前端面试经典

    javaScript 理解MVVM等框架,手写伪代码。 ES6新特性,说说class 从编译角度谈谈变量提升 对象...

  • ECMAScript6--let、const

    在es6之前用var定义变量。es6中新增了let、const 变量声明提升 所谓变量声明提升指的是,用var定义...

  • ES6语法

    1.ES5和ES6声明变量的方式对比 ES5中声明变量的方式: ES6中声明变量的方式: 2.var ,let,c...

  • 1.JavaScript中关于定义变量以及变量作用域

    1.在JavaScript中定义变量有两种方式 Es6之前:var 变量名称;Es6开始:let 变量名称; 2....

网友评论

    本文标题:谈谈 ES6 中的变量

    本文链接:https://www.haomeiwen.com/subject/ibzgaktx.html