Es6的基本用法

137 阅读3分钟

什么是ES6?

  • 指的是在2015年之后发布的版本的泛指

let的用法

  • let声明的变量有块级作用域的概念,只能在定义的作用域中使用,块级作用域指的是大括号中
  • let声明的变量只能先声明在使用,没有变量提升
  • 在大括号中用let关键字生命的变量,是被绑定的,不受外部的影响,具有暂时性死区的特性

const的用法

  • const用来定义常量,常量对应的内存地址不能更改,也具有块级作用域的概念
  • const生命的常量,必须赋值,基本数据类型不可更改,复杂数据类型可以更改(数组可以更改其中的值),但是不能赋值

解构赋值

  • 数组解构:允许我们按照一一对应的关系把数组中的值取出来赋值给变量
  • let arry = [1,2,3]
    let [a,b,c] = arry
    console.log(a)
    console.log(b)
    console.log(c)//注意:左边不是数组是一一对应的变量a,b,c
    
  • 对象解构:允许我们使用变量的名字匹配对象的属性,匹配成功把对象属性的值赋值给这个变量
  • let person = {name:'李四',age:20sex:1}
    let {name,age,  sex} = person
    console.log(name)//李四
    console.log(age)//20
    console.log(sex)//1
    

箭头函数

  • const fn = () => {}
    
  • 特点一:当箭头函数函数体中只有一句代码,并且这句代码的执行结果就是这个函数的返回值,那么多大括号可以省略
  • 特点二:当箭头函数的形参只有一个时,那么这个小括号也可以省略
  • 箭头函数没有自己的this关键字,如果在箭头函数中使用this,那么这个this指向的是箭头函数定义的位置
  • 对象不能产生作用域,在对象中定义的箭头函数,this指向的全局window

剩余参数

  • 当箭头函数中的参数不固定时,使用args关键字
  • const sum = (...args) => {
    			let total = 0;
    			args.forEach( item => total+=item );
    			return total
    		}
    console.log(sum(12,23))
    console.log(sum(23,34,56))
    
  • 剩余参数可以和解构配合使用
  • 数组合并
  • //方法一
    const a = [1,2,3]
    const b = [4,5,6]
    const c = [...a, ...b] //输出结果[1,2,3,4,5,6]
    //方法二
    const c = b.push(...a)//输出结果[1,2,3,4,5,6]
    
  • 剩余参数可以将伪数组转化为真数组
  • Array.from()也可以将伪数组转化为真数组,并且还有一个回调函数
  • Array.find()查找数组中第一哥满足条件的值,然后返回
  • Array.findIndex()查找数组中值对应的索引位置,并返回
  • Array.includes()查找数组中是否包含莫个值,返回布尔true/false

模板字符串

  • 模板字符串使用``来定义的,拼接字符串的时候不需要用+号可以使用${}来拼接、
  • ${}中也可以调用函数,返回函数的返回值
  • startsWith()/endswith()判断是否以莫个字符开始/结尾,返回布尔值
  • repeat()将莫个字符串重复输出多少次,返回新字符串

Set数据结构

  • 什么是Set数据结构?类似数组,但是不能有重复的值,也是一个构造函数
  • const s = new Set([1,2,3])//可以这样定义
    
  • 利用Set数据结构去重?
  • const s = new Set([1,2,3,3,4,2,5])
    const s1 = [...s]//输出[1,2,3,4,5]
    
  • Set数据结构中的方法和属性
    • size属性,返回Set数据结构中的值的个数
    • add()方法往Set数据中添加值,可以多次添加
    • delete()删除Set数据中的值,参数为字符串
    • has()Set数据结构中是否包含莫个值,返回布尔值
    • Set数据结构取值,类似数组中一样可以使用forEach()来遍历