Es6基础知识简介

发布时间 2023-06-13 11:51:54作者: 香香的泡泡
//变量提升
    //let const
    //块级作用域:在代码块内部声明的变量或函数,具在代码块内部课件,超出该代码则无法访问
    if(true){//花括号就是块作用域
        //var a=10
        let a=10
        console.log(a)//10
    }
    console.log(a)
    //const let一样
    //优势:使用块级作用域可以避免变量名冲突和污染全局命名空间,提高代码可读性和可维护性
   /* ***************************************************************************** */
   //箭头函数
   //无参数的箭头函数
   const fun1=()=>{

   }
   //一个函数
   const fun2=a=>{

   }
   //多个函数
   const fun3=(a,b)=>{

   }
   //箭头函数返回值
   const fun4=a=>a*2
   //函数内只有一条语句时,花括号可以省略,并且返回return
/* ************************************************************************************ */
//函数参数默认值
//需求:计算乘法,两数相乘,如果用户传入一个参数的话
//方法一:
/* const fun5=(a,b)=>{
    if(!b){
        return a*1
    }
    return a*b

} */
//方法二
/* const fun5=(a,b)=>{
   const c=b||1
   return a*c
} */
//方法三
const fun5=(a,b=1)=>{
    return a*b
}
console.log(fun5(2))
//函数的拓展
//要把输出的函数求和
const fun6=(a,b,...numbers)=>{//剩余参数 用于处理可变长度的参数
    return numbers.reduce((value,preResult)=>preResult+value,0)
}
console.log(fun6(1,2,3,4,5))
console.log(fun(...[1,2,3,4,5]))//将数组展开为独立元素

/* **************************************************************** */
//数组解构赋值
const numbers=[1,2,3,4,5]
/* const a=number[0]
const b=numbers[1] */
const [a,b]=numbers   //a=1b=2按照顺序排
const [c,d,...rest]=numbers //rest==[3,4,5]
/* ************************************************************** */
//对象的解构赋值
const person={
    name:'John',
    age:30,
    city:'zibo'
}
const {city,name,age}=person
console.log(name,age,city)
//指定默认值
const {gender='unknow'}=person
console.log(gender)