ES6标准简介之Babel转码器解说
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转码器解说的更多相关文章
- ES6转ES5(Babel转码器)
ES6转ES5(Babel转码器) 前提:必须在VScode中已经安装了Node.js 官网:https://nodejs.org/en/ 一.安装命令行转码工具 npm install --glob ...
- ES6入门一:ES6简介及Babel转码器
ES6简介 Babel转码器 Nodejs中使用ES6 WebPack中使用ES6及Babel转码插件 一.ES6简介与转码 1.1一个常见的问题,ECMAScript和JavaScript到底是什 ...
- Babel 转码器 § es6转换es5
Babel 转码器 § es6转换es5 实时转码 / Repl -babel-node / babel-register(自动转码引入babel-register模块) 配置文件.babelrc ...
- 使用babel转码器,让浏览器支持es6语法
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,可是很多浏览器并不支持es6语法,所以我们需要一个转码工具, 把es6的语法转换成浏览器支持的javascr ...
- es6 babel转码器安装配置及常见命令
示例:在d盘,新建文件夹es6,文件夹里新建一个文件es6.js. (1)先全局安装babel-cli,输入命令npm install babel-cli -g (2)输入d:( 进入d盘),再输入c ...
- Babel转码器
Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行.这意味着,你可以用ES6的方法 编写程序,又不用担心现在环境是否支持.
- 在项目中ES6语法转ES5语法 babel转码器
es6 babel 安装以及使用 1,安装好node(需要使用npm包管理工具) 2,在本地项目路径下npm init,格式化成功后会在项目下生成一个配置文件package.json 3,本地安装 ...
- ES6标准入门 第一章:简介
ECMAScript 6 是JavaScript 语言的下一代标准:发布于2015年,又称为ECMAScript 2015. ECMAScript 与 JavaScript 的关系:前者是后者的规范, ...
- ES6标准入门 2/26
第一章 ECMAScript6 简介 1.首先经典开头,ECMAScript跟JavaScript的关系,前者是后者的规格,后者是前者的一种实现.在日常场合中,这两个词是可以互换的. 2.ES6可以泛 ...
随机推荐
- C# Hadoop学习笔记(二)—架构原理
一,架构 二.名词解释 (一)NameNode(简称NN),Hadoop的主节点,负责侦听节点是否活跃,对外开放接口等.在未来的大数据处理过程中,由于访问量和节点数量的不断增多,需要该节点的处理能 ...
- 【转】Java工程师成神之路
针对本文,博主最近在写<成神之路系列文章> ,分章分节介绍所有知识点.欢迎关注. 一.基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 h ...
- Spring Boot使用layui的字体图标时无法正常显示 解决办法
在html文件使用字体图标并且预览时正常,但是启动工程后显示不正常,浏览器调试界面显示字体文件无法decode: Failed to decode downloaded font: xxxxx 如图所 ...
- 盐水的故事(hdu1408)
盐水的故事 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- HDU1824(2-SAT)
Let's go home Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- POJ1149(最大流)
PIGS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21678 Accepted: 9911 Description ...
- js 复制粘贴
input输入框<div id="top-title" style="position: relative"> <img class=&quo ...
- 设计模式(20)--State(状态模式)--行为型
作者QQ:1095737364 QQ群:123300273 欢迎加入! 1.模式定义: 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式 ...
- AJAX的基本操作
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScript和 ...
- 代码操作Word时,目录自动更新的两种方法
最近的项目中有一个功能点为:根据分析数据库并生成报告.不过不是大数据.数据挖掘之类,报告的内容.组织方式都是事先固定下来的.实现的方式为,在普通word文档中插入书签制成模板,然后程序使用OpenXM ...