一. es6编译环境搭建
1 . 初始化 npm 建立package.json文件
npm init
2. 装置webpack
cnpm install webpack -D
3. 装置babel相干包来编译es6 语法
cnpm install babel-loader babel-core babel-preset-es2015 -D
二、 写webpack.config.js设置文件,设置编译es6
1. loader相干设置
module.exports = {
entry:'./entry.js',
output:{
filename:'./bundle.js'
},
module:{
loaders:[
{
test:/\.js$/,
loader:'babel-loader',
exclude:/node_modules/
}
]
}
}
2. 建立.babelrc设置文件
{
"presets": ["es2015"]
}
三、es6的遍厉和…替换anguments
1 遍厉对象和替换anguments
{
function test3(...arg){
for(let v of arg){
console.log("rest",v);
}
}
test3(1,2,3,4,5,"a");
}
2. es6的遍厉对象,Object.entries
{
let test ={x:1,y:456};
for(let [key,value] of Object.entries(test)){
console.log([key,value]);
}
}
四、类的继续class。
补充:一般要领是实例化出来的对象,静态要领属于类,亦能够被继续。
1.类的基础定义天生实例
{
class Person{
//组织函数。
constructor(name = "laozhou"){ //默许值:laozhou
this.name = name;
}
}
let p1 = new Person("小王"); //new的时刻自动实行组织函数。
console.log("组织函数和实例",p1);
}
2.继续
extends 继续
super 上一级,能够挪用父类的组织函数。
{
class Father {
constructor(name="侯瑞强",sex="男") {
this.name = name;
this.sex = sex;
}
}
class Child extends Father {
constructor(name="child",sex) { //把父类的本领拿了过来。
super(name,sex); //挪用父类的组织函数。super必须在第一行,不然报错。
this.age = 10;
}
}
console.log("子类掩盖父类属性的实例",new Child());
}
3.静态属性
{
class Person {
constructor(name="默许") {
this.name = name;
}
}
//静态属性的定义,是直接给类下的属性赋值,该属性就是静态属性,类名点什么直接定义
Person.type = "text"; //type就是静态属性。
console.log(Person.type);
}
五、模块化
1.导出exprot,导入import
导出
export default{
a:1,
b:2,
say(){
console.log("i can say");
}
}
导入
import Model2 from "./module2.js";
console.log(Model2);
六、 尾挪用
一个函数实行,实行到最后的时刻挪用了另一个函数。
function go(callback){
console.log(1231313);
console.log("vvv");
callback && callback();
}
function tail(){
console.log(123131313);
}
go(tail);