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. echart 数据视图 样式重写

    来源http://blog.csdn.net/u010705091/article/details/75212724 echarts折线图的数据视图样式重写 在echarts.js中,点击折线图的数据 ...

  2. Jquery 基本动画

    1.三组基本的动画 显示:show .隐藏hide.滑入:slideUp.滑出:slideDown.滑入滑出切换:slideTpggle.淡入:fadeIn.淡出:fadeOut.淡入淡出切换:fad ...

  3. 过滤器模式(Filter Pattern)

    过滤器模式 一.什么是过滤器模式   过滤器模式(Filter Pattern),这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来.这种类型的设计模式属于结构型 ...

  4. Hadoop集群动态服役新的数据节点&&退役数据节点

    备注:新添的机器为hadoop05,现有hadoop01.hadoop02.hadoop03.hadoop04 环境准备: 1.先克隆一台和集群中一样的机器 2.修改机器ip和主机名称 3.删除原来的 ...

  5. HDU4292(KB11-H 最大流)

    Food Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. python去掉字符串中空格的方法

    1.strip():把头和尾的空格去掉 2.lstrip():把左边的空格去掉 3.rstrip():把右边的空格去掉 4.replace('c1','c2'):把字符串里的c1替换成c2.故可以用r ...

  7. wagon-maven-plugin实现自动打包部署到服务器

    1.在maven中添加依赖 <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/wagon-maven-plugin --> ...

  8. 微信小程序上传图片(前端+PHP后端)

    一.wxml文件 <text>上传图片</text> <view> <button bindtap="uploadimg">点击选择 ...

  9. vue 实现点击图片放大

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.建立子组件,来实现图片方法功能: BigImg.vue <template> <!-- 过渡 ...

  10. git 报错:error: failed to push some refs to 'https://github.com/Anderson-An/******.git'(已解决)

    提交push 报错: $ git push origin masterTo https://github.com/Anderson-An/******.git ! [rejected] master ...