1.介绍
ECMAScript(简称ES)的几个重要版本
ES6是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等,ES6 的第一个版本,在 2015 年 6 月发布了正式名称就是《ECMAScript 2015 标准》(简称 ES2015)。
ES6在ES5的基础上拓展了很多新特性。
2.babel–ES6代码转换为ES5的代码工具
虽然大多数浏览器已经兼容es6代码,但还有部分浏览器不兼容。为了兼容性,我们需要使用babel工具将es6代码转换为es5代码再打包部署项目;
初始化项目
npm init
npm init -y
1.安装转码工具
cnpm install -g babel-cli
cnpm install --save -dev babel-cli babel-preset-latest
2.安装转换规则
cnpm install -g babel-preset-latest
3.指定转换规则 新建.babelrc
{
“presets”:[“latest”]
}
cnpm install --save-dev babel-cli babel-preset-latest
babel工具在项目中是在开发阶段使用的工具
jquery工具在项目中是在产品阶段使用的工具
4.也可以将ES6转换为ES5之后的文件输入到另一个文件当中
babel 2-hello.js --out-file 2-helloo.js
5.将整个src目录下的es6文件转换成es5文件到dist目录
babel src --out-dir dist
3.模块化
- ES6使用import 和export语法进行模块的导入和导出
//导出模块代码
let a = {};
let b = 1;
export {a,b}//列表导出
export {a as first,b as last};//重命名导出
export functions(){}//导出单个属性
export default{}//默认导出 一个模块只能有一个默认导出
//导入模块代码
import {a,b} from '路径'
import {a as one,b as two} from '路径'
写完代码之后需要使用babel工具进行转码 然后才能运行
2.CommonJs使用module.export对象和require语法进行模块的导入和导出
//导出模块代码
module.exports={}//导出一个对象
//导入模块代码
import a = require('路径')
commonjs不需要使用babel进行转码
commonjs和es6模块化的区别
1、CommonJS 模块输出的是一个值的拷贝/复制,ES6 模块输出的是值的引用。
2、CommonJS 模块是运行时加载,ES6 模块是编译时输出接口.
变量的声明
1.let 用于声明一个变量
1 变量不会提升,即在变量声明之前无法使用该变量
2.不可以重复声明
3.具有块级作用域,只在当前作用域有效
2.const 用于声明一个常量
1.变量声明不会被提升,即在变量声明之前无法使用该变量
2.不允许重复声明。
3.具有局部作用域,即const声明的变量只能在对应代码块中使用
4.const声明的变量在声明的时候就需要赋值,并且只能赋值一次,不能修改。