ES6新特性

本文介绍了ES6中的核心新特性,包括let与const的异同,对象属性简写,解构赋值,箭头函数,参数默认值,Set集合以及Map数据结构。详细阐述了它们的用法和注意事项,帮助开发者更好地掌握ES6语法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

let与const

相同点:
1,存在块级作用域
2,不存在变量提升(暂时性死区)
3,在全局环境下定义的变量,不会挂载到window对象上
不同点
let:
定义变量(不能再次定义,值可以修改)
const:
定义常量(不能再次定义,值不能修改)
定义常量时必须有值

注意:其实定义的复杂类型是可以修改值得,只是不能修改地址

const obj={
            name:'lili',
            age:'15'
        }
        obj.age=18
        obj.name='yiyi'
        console.log(obj)     //{name: "yiyi",age: 18}

对象属性简写

const obj={
           name,
           say(){
            console.log('99')
           }
       }
       console.log(obj)

当属性名与属性值相同时,如name:name 可以简写 name
当属性名对应的是函数时,:function可以简写

解构赋值

对象

const obj={name:'li',age:20}
      const {name,age} =obj

深层次解构:

const obj={name:'li',age:10,hobby:{game:'play',read:'书籍'}}
     const {name:l,age,hobby:{game,read}}=obj //一一对应即可
     console.log(l,age,game,read)  //li 10 play 书籍

数组:

 let arr =[1,2,45,23,344]
    const [a,b,c,d,e,f]=arr
    console.log(a,b,c)  //1 2 45
    console.log(a,b,c,d,e,f)  //1 2 45 23 344 undefined

按需取值:

 let arr =[1,2,45,23,344]
    const [,a,b,c]=arr
    console.log(a,b,c)  //2 45 23
 let  =[1,2,45,23,344]
    const [,...a]=arr
    console.log(a)      //[2,45,23,344]
let arr=[1,2,3,[7,8,90]]
   const [,,a,[,,b]]=arr
   console.log(a,b)  //3 90

函数相关

1,箭头函数
完整写法

const fn=(a,b)=>{
       return a+b
   }

当写在一行时,可以省略return

 const fn=(a,b)=>a+b

当只有一个参数时,可以省略()

const fn=a=>a+10

注意:和普通函数的区别:
(1),没有arguments
(2),没有this (使用外部作用域的this)

const obj={
       age:18,
       say(){
           console.log(this)
       },
      say1:()=>{
          console.log(this)
      },
      say2(){
        setTimeout(()=>{
            console.log(this)
        },1000)
      }
   }
   console.log(obj.say())//obj
   console.log(obj.say1())//windon
   console.log(obj.say2())//obj

2,参数默认值写法:
以前的写法:

function fn(a){
           a = a || "10"
           console.log(a)
        }

现在的写法:

function fn(a=10){
            console.log(a)
        }

3,匹配剩余参数


const add=(...args)=>{
           let result=0
          for(let i=0;i<args.length;i++){
              result+=args[i]
          }
          console.log(result)
       }
         console.log(add(1,2,56,9))

set集合

集合是由一组无序且唯一(即不能重复)的项组成的,可以想象成集合是一个既没有重复元素,也没有顺序概念的数组
ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值
Set 本身是一个构造函数,用来生成 Set 数据结构

const s=new Set()
        const arr=[1,2,3,42,4,1]
        arr.forEach(d=>s.add(d))
        //得到一个新的set集合
        console.log(s)
        //数组去重
        console.log( [...new Set(arr)])

map

共同点:集合、字典可以存储不重复的值
不同点:集合是以[值,值]的形式存储元素,字典是以[键,值]的形式存储

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值