ES6 语法

202 阅读1分钟

1.let

ES6新增了let命令,用来生命变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效

2.const

const声明一个常量,一旦声明,常量的值就不能改变
let与const区别
1.都不能重复声明
2.都存在块级作用域问题
3.只在声明所在的块级作用域内有效。

3.模板字符串

变量可用${}设置
let s4 = ` a ${s1} b ${s2}`

4.解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值
var obj ={ name:"abc",age:18 };
//用解构赋值的方式获取name、age
let { name } = obj; //创建了一个变量name,值=obj.name
console.log(name);  //"abc"
let { age } =obj;
console.log(age);  //18

5.箭头义函数。

//函数
div.onclick=function(){
    console.log("你好")
}
//箭头函数
div.onclick=()=>{
    console.log("你好")
}

6.扩展运算符

var car={ brand:"BMW",price:"368000",length:"3米" }
var car2={ ...car }  
console.log(car2); 
//新车子,跟car的长度不同,其他相同
var car3={ ...car,length:"4米" }  
console.log(car3);
var car4={ ...car,type:"SUV"}
console.log(car4);
var car5={...car4,price:"69800",brand:"BYD"};
console.log(car5);

7.Promise

Promise是异步编程一种解决方案
var promise=new Promise((resolve,reject)=>{
    $.get("/getUser",res=>{
        //获取数据的异步操作已经执行完毕了,等待下一步的执行,通过执行resolve函数,告诉外界你可以执行下一步操作了
        //c、
        resolve(res)
        //而执行的下一步操作,其实就是写在then的回调函数中的
    })
})
promise.then(res=>{
    //d、执行后续的操作
    console.log(res);
})

8.import/export

import animal from './content'  引入文件
export default 'A cat'   导出模块

9.class

class Animal {constructor(){
console.log('我是一个动物');
    }
}
class Person extends Animal {
constructor(){
super();
console.log('我是一个程序员');
    }
}
let aa = new Person();