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创建者推崇的导入方法,具有语法纯净、简洁的特点。


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

查看所有标签

猜你喜欢:

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

Beginning XSLT 2.0

Beginning XSLT 2.0

Jeni Tennison / Apress / 2005-07-22 / USD 49.99

This is an updated revision of Tennison's "Beginning XSLT", updated for the new revision of the XSLT standard. XSLT is a technology used to transform an XML document with one structure into another ......一起来看看 《Beginning XSLT 2.0》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具

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

UNIX 时间戳转换