ES6常用功能
let const
const定义一个变量过后不能更改其值
多行字符串 模板变量
通过``反引号可以多行字符串 在反引号里面可以用${}的方式在{}里面写入定义的变量 普通写法得拼接字符串
解构赋值
const obj = {a:10,b:20,c:30}
const {a,c}=obj 先结构再赋值
块级作用域
for(var item in obj){
如果用var
}
在外面可以访问到 如果用let 外面就访问不到了
函数默认参数
普通写法 function(a,b){
if(b==null){
b=0}//意思就是a是传过来的 但是b如果不穿的话就是0
}
es6写法 function(a,b=0){
//这样就行了
}
箭头函数
不用写实例了
将this指向了里函数体最近的一层的this
语法糖的问题 今天看到一个老师讲课的视频 语法糖是什么 语法糖就是例如实现一个操作有一种基础写法 一种高级写法 但是实现的结果都是一样的 所有的语法糖都要了解本质,就比如说es6里面的class 跟 js里面的 prototype 原型链 为了实现的结果都是一样的 但是写法不一样 高级的写法可以有助于我们以后的进阶
es6 之 class
class Animal{
constructor(name){ //每一个class里面肯定有一个constructor代表自身
this.name = name
}
eat(){ //实例中的方法
console.log(eat)
}
}
class Dog extends Animal{ //如果一个实例想要继承另一个实例 就要用extends 这里Dog继承了Animal
constructor(name){ //每一个class里面肯定有一个constructor代表自身
super(name) //只要外面用extends继承了别的实例 这里面就一定会有 super 为了把name 这个变量传递上去
this.name = name
}
say(){ //实例中的方法
console.log(say)
}
}
const dog = new Dog('哈士奇')
dog.say()
dog.eat()
promise函数的理解
promise的基本使用
在promise函数外面包裹一层函数用来调用执行它 要不然会自动执行
首先 new Promise实例 而且里面要return
new Promise时要传入函数,函数有resolve reject 两个参数
成功时执行resolve()失败时执行reject()
.then监听结果
推荐篇讲解es6的文章写的非常好 https://juejin.im/post/5c6234f16fb9a049a81fcca5#heading-26