[ES6] 细化ES6之 -- ECMA6是什么
ECMA6是什么
JavaScript 语言的下一代标准
ES6 的目标,是使得 JavaScript 语言可以用来编写大型的复杂的应用程序,成为企业级开发语言。
ECMAScript 和 JavaScript 的关系
ECMAScript 是 JavaScript 语言的国际标准
JavaScript 是 ECMAScript 的实现。
ECMA的发展历史
1998 年 6 月,ECMAScript 2.0 版发布。
1999 年 12 月,ECMAScript 3.0 版发布,成为 JavaScript 的通行标准,得到了广泛支持。
2007 年 10 月,ECMAScript 4.0 版草案发布,对 3.0 版做了大幅升级,预计次年 8 月发布正式版本。
2008 年 7 月,由于对于下一个版本应该包括哪些功能,各方分歧太大,争论过于激进,ECMA 开会决定,中止 ECMAScript 4.0 的开发
2009 年 12 月,ECMAScript 5.0 版正式发布。
2011 年 6 月,ECMAscript 5.1 版发布,并且成为 ISO 国际标准(ISO/IEC 16262:2011)。
2013 年 3 月,ECMAScript 6 草案冻结,不再添加新功能。新的功能设想将被放到 ECMAScript 7。
2013 年 12 月,ECMAScript 6 草案发布。然后是 12 个月的讨论期,听取各方反馈。
2015 年6 月,ECMAScript 6 正式通过,成为国际标准。
Babel编译器
Babel是什么
是一个广泛使用的 ES6 转码器(编译器),可以 ES6 代码转为 ES5 代码,从而在浏览器或其他环境执行
安装Babel
$ npm install --global babel 或 npm install -g cnpm --registry=https://registry.npm.taobao.org
配置Babel
{"presets": ["latest"],"plugins": [],"devDependencies": {"babel-cli": "^6.0.0","babel-preset-latest": "^6.24.1"},"scripts": {"build": "babel src -d lib"}
}
babel-cli转码
- src目录:用于放置 ECMAScript 6的代码文件。
- lib目录:用于放置通过 Babel转码后的代码文件。
npm run build
[ES6] 细化ES6之 -- ECMA6是什么相关推荐
- [ES6] 细化ES6之 -- Class关键字
类的声明 类是什么 类作为对象的模板,只是一个语法糖 class 关键字是让对象原型的写法更加清晰.更像面向对象编程的语法而已. // ES5创建构造函数 function Hero() {this. ...
- [ES6] 细化ES6之 -- 迭代器与生成器
Symbol Symbol是什么 ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值 Symbol 值通过Symbol函数生成 let symbol = Symbol(); consol ...
- [ES6] 细化ES6之 -- Promise对象
Promise对象是什么 Promise对象是什么 ES6新增了Prormnise对象,该对象允许对延迟和异步操作流程进行控制.一个Promise对象就是一个代表了异步操作最终完成或者失败的对象. 开 ...
- [ES6] 细化ES6之 -- 对象的扩展
对象的属性 属性表示法 ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法 ES5 let name = "张无忌"; function sayMe() {cons ...
- [ES6] 细化ES6之 -- 函数的扩展
函数参数的默认值 函数参数指定状认值 ES6 之前,不能直接为函数的参数指定默认值,如果定义了形参,不传递实参时导致形参为undefined,只能采用变通的方法. //ES5 function fn( ...
- [ES6] 细化ES6之 -- 数组的扩展
扩展运算符 扩展运算符 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列.允许一个表达式在原地展开 // 定义一个数组 var arr ...
- [ES6] 细化ES6之 -- 字符串的扩展
判断是否包含 都区分大小写 includes()方法 返回布尔值,表示是否找到了参数字符串 let str = 'hebei baodingshi lianchiqu' console.log(str ...
- [ES6] 细化ES6之 -- 变量的解构赋值
变量的解构赋值 解构赋值是什么 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值 var/let [变量名称1,变量名称2,...] = 数组或对象 本质上,这种写法属于"模式 ...
- [ES6] 细化ES6之 -- 前端模块化
前端模块化 前言 前端开发领域发展到目前阶段: 零件化 - 最终呈现给用户是一个完整的产品(由各个零件组成的) 降低生产成本 – 多人协作(每个人各司其职) 降低使用成本 - 各个零件之间是低耦合的 ...
最新文章
- git warning: LF will be replaced by CRLF in 解决办法
- 玫瑰花函数matlab,网上收到的用matlab画玫瑰花的代码怎么不行啊,报告错误,求大神...
- CFI/CFG 安全防护原理详解(ROP攻击、DOP攻击、插装检测)
- 不需要的系统垃圾把它杀掉!
- android 入门-android Studio 配置
- Android PopupWindow Dialog 关于 is your activity running 崩溃详解
- linux meta 18.0.1 系统安装nodejs
- shell+中sum的用法_使用shell进行计算
- Makefile 编写规则
- 小米蓝牙耳机持续白灯_小米蓝牙耳机air2怎么重置
- 多个杀毒软件共存有什么影响。
- 人活着到底为了什么?
- html表格标题标签_HTML标题标签
- 解决IDEA : Could not autowire. No beans of ‘xxxx‘ type found
- 原生js实现轮盘抽奖,控制中奖概率(完整示例)
- 饥荒联机版服务器搭建教程-WeGame
- linux 终端修改字体大小,linux系统终端修改字体的方法
- SAP财务凭证常见的冲销步骤详细操作手册(FB08、AB08、VF11、FBRA等)
- 怎么在html文件中写css文件,html头文件中css怎么写?
- 视频镜头分割与关键帧提取
热门文章
- c++语言int最大值,c++ 关于如何获取int型的最大值
- tar (child): bzip2: Cannot exec: No such file or directory
- html5 ul li 自动收回,vue遍历四个ul ,每个ul中有四个li.如何不破坏html结构?
- Android图片特效处理之图片叠加
- socketserver库的使用
- tk.mybatis Example 多个or条件拼接
- python 图片转字符画
- js实现给数字加三位一逗号间隔的两种方法
- vsftpd 安装配置
- 转:一个网页图表的demon网站