ES6新特性总结

前言

提示:这里可以添加本文要记录的大概内容:
ES6的新特性总结。

1.let和const

let表示申明变量,const表示申明常量。

  • 常量定义了就不能改变。对象除外,因为对象指向的地址没变。
  • const在申明时必须被赋值。
  • 两者都是块级作用域

块级作用域:

        任何一对花括号()和{}中的语句都集中属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为块级作用域。

函数作用域:

        定义在函数中的参数和变量在函数外部都是不可见的。

常量不可改变

const a=1;
a=0;//报错

2.模板字符串``

可以使用烦引号``来进行字符串拼接。${}对变量赋值。

let a=6666;
console.log(`nihao${a}`); //nihao6666

3.解构

可以使用{}来对数组和对象进行解构。

//创建数组
const foodList = ['西兰花','花菜','辣椒','肉'];
//数组结构
const [food1,food2,food3,food4]=foodList;

console.log(food1); //西兰花
console.log(food2); //花菜
console.log(food3); //辣椒
console.log(food4); //肉
//创建对象
const person={
    name: '小明',
    skill: '染发',
    color: '白色',
}
//对象解析
const { name, skill, color } = person;

console.log(name); //小明
console.log(skill); //染发
console.log(color); //白色

4.函数参数的默认值

函数传参可以有默认值

function printText(text = 'default') {
    console.log(text); //default
}

5.Spread/Rest操作符 ...

Spread/Rest操作符指的是...。

  • 当被用于迭代器中使用,它是一个Spread操作符:迭代器(Iterator)是按照一定的顺序对一个或者多个容器中的元素进行遍历的一种机制
function foo(x,y,z){
    console.log(x,y,z);
}

let arr = [1,2,3];
foo(...arr); //1 2 3
  • 当被用于函数传参时,是一个Rest操作符。
function foo(...arrs){
    console.log(arrs);
}

foo(1,2,3,4,5,6);// [1,2,3,4,5,6]

6.箭头函数

  • 不需要function关键字来创建函数
  • 省略return关键字
  • this始终指向函数申明时所在作用域下的this值
//es5
var fun = function(){

}

//es6
var fn = () => {

}

7.for of

  • for of遍历的是键值对中的值
  • for in遍历的是键值对中的键

8.class类

ES6中支持class语法,不过,ES6的class不是新的对象继承模型,它只是原型链 语法表现形式。

class Students{
    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();
stu.study(); // "study!"
stu.read(); // "Reading Now."

9.导入导出

  • 导入improt
  • 导出export default

10.promise

Promise用于更优雅地处理异步请求

new Promise((resolve,reject) => {
    setTimeout(function() {
        resolve('成功了!')
    }, 1000)
    // reject("失败了,wuwu")
}).then(data => {
    console.log(data)
)}.catch(err => {
    console.log(err)
)}

11.async/await

比promise更好的解决回调

async function(){
    await fn()
}

12.Symbol

新的基本类型

13.Set集合

存储任何类型的唯一值,即集合中所保存的元素是不重复的。类数组结构。

arr = [1, 2, 3, 1];
let arrNew = new Set(arr);
let ar = Array.from(arrNew);
console.log(ar) // [1, 2, 3]

类数组不是数组,要转化为数组Array.from(arrNew),这样arrNew才是数组了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值