ES6的理解

栏目: JavaScript · 发布时间: 6年前

内容简介:ES6自2015年推出已过了三年,成熟使用也两年了。比如,const和let定义、箭头函数、模块的导入和导出等,已经出现在我们日常的使用中,可以说并不陌生,但就系统的学习一直没开始。最近在看《深入理解ES6》这本书,结合日常的使用,系统梳理一下(想到哪写到哪,后续一直添加).1.块级作用域的出现以及变量定义的改变

ES6自2015年推出已过了三年,成熟使用也两年了。比如,const和let定义、箭头函数、模块的导入和导出等,已经出现在我们日常的使用中,可以说并不陌生,但就系统的学习一直没开始。

最近在看《深入理解ES6》这本书,结合日常的使用,系统梳理一下(想到哪写到哪,后续一直添加).

1.块级作用域的出现以及变量定义的改变

块级作用域:大括号包裹的部分形成的局部作用域.ES6之前,JavaScript只有两种作用域--全局作用域和局部作用域(函数作用域),大括号并非作用域的界定符,而且具有变量提升的机制.ES6推出后,界定了块状作用域,let和const定义也消除了变量提升.

ES6之前,变量在程序退出后或者函数执行完销毁变量;ES6后,程序执行到块级作用域外即销毁变量.

let代替var用于定义变量,重复定义时会报错.

const用于定义常量,且必须初始化,一旦设定后不可更改,否则会报错.

书中推荐的最佳实践:默认使用const定义,只在需要改变的变量中使用let定义。

日常使用的感觉是定义变量变得简洁、高效,不需要担心变量重名和冗余了。

2.模块的导出与导入

ES6引入模块是为了解决作用域问题.

之前的脚本形式,定义的作用域都是全局作用域;现在的模块形式,定义的是当前模块的的作用域,将模块作用域和全局作用域区分出来,让日益复杂的前端工程变得容易维护.

export作为导出符,可以导出变量、函数、类等。

导出的方式包括导出声名(export var a=5;)、导出引用(var a=5; export a;)、导出重命名(export a as aaa)、还可以默认导入(export default)

import作为导入符,可以单个导入(import { a } from '/example.js'),多个导入(import { a,b } from '/example.js')、导入整个模块(不常用)、导入时重命名、默认值导入(import a

from ‘、example.js’)

默认导入是ES6创建者推崇的导入方法,具有语法纯净、简洁的特点。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

超越门户

超越门户

吴晨光 / 中国人民大学出版社 / 2015-4-17 / 39.80

在这个PC端影响力下降、人们对手机的依赖与日俱增的时代,这种探索的意义非同寻常,可以说是试图树立新媒体时代的行业标准。 ——陈彤(小米内容投资与运营副总裁、新浪网前总编辑、资深网络媒体人) 我将对此书的阅读,视作对往日岁月的怀念,它提醒我,自己曾 投身于多么富有蓬勃朝气和探索精神的事业。而对这种事业的原则、逻辑和方法的继承和继续学习,对于互联网时代的企业形象塑造 ,同样有融会变通的参考......一起来看看 《超越门户》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换