ES6是ECMAScript 6的简称,是JavaScript语言的下一代标准,现在基于jquery库的前端开发js所使用的标准是ES5(ECMAScript 5)。ES6已于2015年6月正式发布。它的目标是使JavaScript语言可以用于编写复杂的大型应用程序。ES6是一个泛指,含义是5.1版本以后的JavaScript的下一代标准,涵盖了ES2015、ES2016、ES2017等。

  由于现在各大浏览对ES6的支持程度不一,所以在开发过程中需要使用ES6的转码器 —— Babel,它可以将ES6代码转化为ES5代码,方便在浏览器环境中执行,大家可以参阅http://kangax.github.io/compat-table/es6/了解各大浏览器对ES6的支持情况。就现在目前三大新的JS框架中都是使用es6语法,这三大框架集成前端自动化打包工具 —— webpack和ES6转ES5的转化器 —— Babel,在新的框架下面就不用操心怎么转换了。

  学习过ES6的同学都应该知道箭头函数,那箭头函数和ES5中的function函数有什么区别呢,下面我们先来看一段代码再跟大家说明一下最主要的区别

  

 //ES6
input.map(item => item + 1); //ES5 inout.map(function (item) {
return item + 1;
});

箭头函数和function函数对比

  不知道大家有没有看出什么细微的差别,但是很明显的一点就是ES6标准下的箭头函数简单了很多,方便我们书写代码,开发项目和维护。这两者之间最主要的区别在于this指向,箭头函数的this指向不会改变,但function函数的this指向会改变(这也是当时自己第一次找工作面试官问我的最简单的一道面试题,当时没有回答上来,所现在对ES6的箭头函数和ES5的function函数的区别记得特别牢靠)。上面这段代码ES6的箭头函数经过Babe转码器转码之后就形成ES5的function函数。在新的js框架中集成Babel转码,所以每个项目都会有一个.babelrc的配置文件,很多时候这个文件不需要改动 本文件的基本格式如下:

  

 {
“presets”: [],
"plugins": []
}

.babelrc配置文件基本格式

  当然如果你只是为了熟悉使用babel,你完全可以使用命令行转码 —— babel-cli,安装命令如下:

  npm install -global babel-cli

  基本用法如下:

  babel example.js

  Babel 只转换新的JavaScript句法,而不转换新的API,如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及这些定义在前句对象上的方法都不会转码,要想对这么对象进行转码,就得使用babel-polyfill为当前环境提供一个垫片,安装命令如下:

  npm install --save babel-polyfill

  然后在脚本头部加入如下代码:

  import 'babel-polyfill'即可

  此博客是个人在学习ES6入门标准时一个理解和记录,如有错误,还望大家评论区指正,谢谢。

ES6标准简介之Babel转码器解说的更多相关文章

  1. ES6转ES5(Babel转码器)

    ES6转ES5(Babel转码器) 前提:必须在VScode中已经安装了Node.js 官网:https://nodejs.org/en/ 一.安装命令行转码工具 npm install --glob ...

  2. ES6入门一:ES6简介及Babel转码器

    ES6简介 Babel转码器 Nodejs中使用ES6 WebPack中使用ES6及Babel转码插件 一.ES6简介与转码  1.1一个常见的问题,ECMAScript和JavaScript到底是什 ...

  3. Babel 转码器 § es6转换es5

    Babel 转码器 § es6转换es5 实时转码 /  Repl  -babel-node / babel-register(自动转码引入babel-register模块) 配置文件.babelrc ...

  4. 使用babel转码器,让浏览器支持es6语法

    ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,可是很多浏览器并不支持es6语法,所以我们需要一个转码工具, 把es6的语法转换成浏览器支持的javascr ...

  5. es6 babel转码器安装配置及常见命令

    示例:在d盘,新建文件夹es6,文件夹里新建一个文件es6.js. (1)先全局安装babel-cli,输入命令npm install babel-cli -g (2)输入d:( 进入d盘),再输入c ...

  6. Babel转码器

    Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行.这意味着,你可以用ES6的方法 编写程序,又不用担心现在环境是否支持.

  7. 在项目中ES6语法转ES5语法 babel转码器

    es6 babel 安装以及使用   1,安装好node(需要使用npm包管理工具) 2,在本地项目路径下npm init,格式化成功后会在项目下生成一个配置文件package.json 3,本地安装 ...

  8. ES6标准入门 第一章:简介

    ECMAScript 6 是JavaScript 语言的下一代标准:发布于2015年,又称为ECMAScript 2015. ECMAScript 与 JavaScript 的关系:前者是后者的规范, ...

  9. ES6标准入门 2/26

    第一章 ECMAScript6 简介 1.首先经典开头,ECMAScript跟JavaScript的关系,前者是后者的规格,后者是前者的一种实现.在日常场合中,这两个词是可以互换的. 2.ES6可以泛 ...

随机推荐

  1. 安卓开发笔记①:利用高德地图API进行定位、开发电子围栏、天气预报、轨迹记录、搜索周边(位置)

    高德地图开发时需要导入的包在下面的网盘链接中:(由于高德地图api更新得太快,官网上最新的包使用起来没有之前的方便,所以以下提供最全面的原始包) 链接:http://pan.baidu.com/s/1 ...

  2. [日常] Linux下vim的常用命令总结

    vim按d表示剪切按dd剪切一行vim命令:命令模式 /关键字 n继续向下查找 vim的多行注释:1.按ctrl + v进入 visual block模式2.按上下选中要注释的行3.按大写字母I,再插 ...

  3. 关于eclipse的项目前有感叹号和errors exist in required project相关问题

    一般来说 项目运行中 各个类的信息中并没有报错 但在运行中会出现errors exist in required project 且有时候运行也会成功.这种情况是由于项目中其他的类存在问题未解决  导 ...

  4. 码云创建maven工程

    码云创建maven工程步骤 1.现在码云上创建工程2.拉取到本地3.使用"touch .gitignore"命令创建.gitignore文件4.在文件中添加过滤文件: .setti ...

  5. c# IEnumerable和IEnumerator枚举器

    一 : IEnumerable 公开枚举数,该枚举数支持在非泛型集合上进行简单迭代. IEnumerable是可以枚举的所有非泛型集合的基接口,IEnumerable包含单个方法GetEnumerat ...

  6. Java面试题—初级(9)

    139. Java中的泛型是什么 ? 使用泛型的好处是什么? 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 好处: 1.类型安全,提供编译期 ...

  7. HDU5036 Explosion(期望 bitset)

    题意 题目链接 Sol 和cf上的一道题几乎一摸一样 首先根据期望的线性性,可以转化为求每个点的期望打开次数,又因为每个点最多会被打开一次,只要算每个点被打开的概率就行了 设\(anc[i]\)表示\ ...

  8. h5新增加的存储方法

    h4中使用的cookie把用户信息保存在客户端浏览器,但是它受到很多限制. 大小:最多能存储4k 带宽:它是随着http请求一起发送到服务器的,因此浪费一部分的带宽. 复杂度:操作复杂. h5新增加了 ...

  9. 【代码笔记】iOS-计算时间差

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ...

  10. 令人血脉喷张的animate.css

    都说html5.css3是大局是潮流,尽管css3也不难,学起来比较简单,但我还是喜欢他的轻量级集大成者的animate.css框架,初学的小伙伴们加油啦 下面我分析一下animate.css框架里面 ...