ES6知识点总结

js ES6知识点总结

1、let、const

(1)let、const声明形成块级作用域,const声明后必须赋值
(2)暂时性死区

var 声明的变量可以在声明之前使用,相当于声明值为undefined。
let、const 声明的变量不能在声明之前使用,会报错,这一部分称为暂时性死区。

if (a == 1) {
    console.log(temp)   //报错
    temp = 2
}

2、解构

(1)数组解构赋值
const [x,y,z] = [1,2,3]
console.log(x,y,z)    //1, 2, 3
(2)对象解构赋值
const { name, food } = { name: "dog", food: "meet"}
console.log(name, food)    //dog, meet

3、模板字符串

使用 ``将整个字符串包裹起来,使用${}包裹变量或者表达式。

const a = 20
const b = 30
console.log(`${a}+${b}=${a+b}`)  //20+30=50

3、展开运算符(…)

 const arr1 = [1, 2, 3]
 const arr2 = [...arr1, 4, 5]
 console.log(arr2) //[1, 2, 3, 4, 5]

4、es6新增数组方法

(1)forEach()

forEach()会遍历数组。
forEach()有三个参数, 第一个参数是当前元素, 第二个参数是当前元素的索引, 第三个参数是当前元素所属的数组。

let arr1 = [1, 2, 3, 4];
let arr2 = [];
arr1.forEach((item) => {
     if (item > 2) {
         arr2.push(item)
     }
});
console.log(arr2) //[3, 4]
(2)map()

arr.map(callback) 映射数组(遍历数组)
callback的参数: value --当前索引的值
        index --索引
        array --原数组

let arr1 = [1, 2, 3, 4];
let arr2 = arr1.map((item) => {
               return item*2
           })
console.log(arr1)                    //[1, 2, 3, 4]
console.log(arr2)                   //[2, 4, 6, 8]
(3)filter()

arr.filter(callback) 过滤数组,返回满足条件的数组。
callback的参数: value --当前索引的值
        index --索引
        array --原数组

let array = [1, 2, 3, 4, 5];
let temp = array.filter((item) => {
            return item > 3;    
           });
console.log(temp);         //[4, 5]
console.log(array);        //[1, 2, 3, 4, 5]
(4)every()

arr.every(callback) 过滤数组,依据判断条件,数组的元素是否全满足,若满足则返回ture

let array = [1, 2, 3, 4, 5];
let temp = array.every((item) => item > 3)
console.log(temp);   //false
(4)some()

arr.every(callback) 过滤数组,依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture,并停止循环。

let array = [1, 2, 3, 4, 5];
let temp = array.some((item) => item > 3)
console.log(temp);   //true

5、for of

let array = [1, 2, 23, 46, 5];
for (const i of array) {
    console.log(i)
}

console.log("___________________")

for (const key in array) {
    console.log(array[key])
}

打印结果:
1
2
23
46
5


1
2
23
46
5

6、promise

promise是一个异步操作对象,对象的状态不受外界影响。
promise对象有3种状态:pending(进行中),fulfilled(已成功),rejected(已失败),只有异步操作的结果可以决定当前是哪一种状态。一旦状态改变就不会再改变了,要么从pending变为fulfilled,要么从pending变为rejected,称为已定型resolved。

//promise 实例
const promise = new Promise(function(resolve, reject) {
  // ... some code

  if (/* 异步操作成功 */){
    resolve(value);
  } else {
    reject(error);
  }
});

promise实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数。

promise.then(function(value) {
  // success
}, function(error) {
  // failure
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值