1.变量
- var 可以重复声明、只有函数级的作用域、存在变量提升
- let 不能重复声明、有块级作用域、没有变量提升、变量
- const 不能重复声明、具有块级作用域、常量
2.箭头函数
- a.为了方便而存在
1.只有一个参数,圆括号()可以省
2.如果只有一个return、{}可以省 - b.修正this
this相对正常点了:箭头函数里的this指向上一级(父类)的this
3.参数扩展
-
扩展运算符:...
-
能收集
-
能扩展
-
默认参数
function(a,b,c=5){//c为默认参数,只传两个参数时c默认为5,这个默认参数放在左右中间都可以(已实验)
}
4.数组方法
- map 映射
- reduce 汇总:一堆->一个(算总数、平均数)
- filter 筛选
- forEach 循环(迭代)
5.字符串
-
startsWith/endsWith
-
字符串模板:反单引:
${这里变量或者调用函数} 可以识别空格和换行,常用于给html添加标签结构
6.Promise
- 封装异步
Promise.all([]);
7.generator
function *show(){
yield;
}
8.JSON
- JSON.stringify({a:12,b:5}); => '{"a":12,"b":5}' 对象装换为字符串
- JSON.parse( '{"a":12,"b":5}'); => {a:12,b:5} 字符串解析为对象
9.解构赋值
-
let [a,b,c] = [12,5,7];
-
左右结构一样
-
右边是个合法的结构
-
声明和赋值一次完成
10.面相对象
- 新增类定义关键字class
class Test{
constructor(){
this.xxx=xxx;
}
方法1(){
}
方法2(){
}
}
- 新增继承关键字extends
class Son extends Father{
constructor(){
super();//通过该方法执行父类的构造函数
}
}