1.let 和const
let 表示申明变量。const 表示申明常量。
const在申明时必须被赋值。
两者都为块级作用域。
2.模板字符串(``)
可以使用反引号``
来进行字符拼接。`${}`
3.变量的解构赋值
4.箭头函数
不需要 function 关键字来创建函数
省略 return 关键字
this始终指向函数申明时所在作用域下的this值
var fn = function(){};
var fn =()=>{}
5.promise
<script>
new Promise((resolve,reject) => {
setTimeout(function() {
resolve('成功了!')
},1000)
// reject("失败了,wuwu")
}).then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
</script>
6.async/await
比promise更好的解决了回调地狱。
async function() {
awiat fn()
}
7.symbol基本数据类型
原先有5个(string,number,Boolean,null,undefined),新增symbol
8.Set集合
存储任何类型的唯一值,即集合中所保存的元素是不重复的。类数组结构。
类数组不是数组,要转化为数组Array.form(arrNew)
这样arrNew才是数组了
let arr =[1,2,3,1]
let arrNew = new Set(arr)
//arrNew = [1,2,3]//类数组
//Array.from(arrNew)//这才是真数组
9. for of
for of遍历的是键值对中的值
for in遍历的是键值对中的键
10.class类
ES6 中支持 class 语法,不过,ES6的class不是新的对象继承模型,它只是原型链的语法糖表现形式。
class Student {
constructor() {
console.log("I'm a student.");
}
study() {
console.log('study!');
}
static read() {
console.log("Reading Now.");
}
}
console.log(typeof Student); // function
let stu = new Student(); // "I'm a student."
stu.study(); // "study!"
stu.read(); // "Reading Now."
11.字符串、正则、数组、对象、函数、运算符的扩展
12.导入improt 导出export default
!!!暂时想到那么多,还有其他的欢迎大佬们补充哈。