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();