zoukankan      html  css  js  c++  java
  • ES6语法

    最近在看vue项目 涉及一些es6语法,目前只写一些 看到的 ,别的有时间会补充

    1、解构 

         解构使我们方便的从数组或对象中获得数据

            // ES6 解构 
            //数组
            const [x,y] = [1,2] //x = 1,y = 2
    
            // 对象
            const obj = {
                x:"王一博",
                y:"爱摩托"
            }
            const{x,y} = obj // x = 王一博,y = 爱摩托
    
            const {x:name,y:girlfriend} = obj
            console.log("name"+':'+name,"girlFriend"+':'+girlfriend)

     2、let const var 区别

              2.1、let和const不能预解析,有严格的块级作用域,不允许重复声明。

              2.2、let  var 声明变量  const 声明常量

             2.3、const 必须初始化

            // 1、let const 不存在变量提升
            console.log(a) // undefined 变量提升
            var a = '1'
    
            console.log(b) // error
            let b = '啧啧啧'
    
    
            // 2、let const 同一个作用域不能重复声明同一个变量
            var c = '1'
            var c = '10'
            console.log(c) // 10
            let d = '1'
            // let d = '10' // error
            d = '10' // 可 可以赋值
            console.log(d) // 10
    
    
            // 3、var 函数作用域  let const 块级作用域
            function fun(){
                var e = '1'
                if(true){
                    var e = '100'
                }
                console.log(e) // 100
            }
            fun()
    
            function fun2(){
                let f = '1'
                if(true){
                    let f = '100'
                }
                console.log(f) // 1
            }
            fun2()
            // // 4、const定义常量 且必须初始化
            const g = '1'
            g = '100' //error
    
            const h //error

     3、... 三点扩展运算符

           3.1、 将一个数组转换为用逗号分隔的参数序列

          

            let add = (x,y)=>x + y
            let num = [3,14]
    
            let result = add(...num) //17
        
            Math.max(...[63,23,43]) === Math.max(63,23,43) // true

           3.2、用push将一个数组添加到另一个数组的尾部

            let arr1 = [1,2,3]
            let arr2 = [4,5,6]
            //es5
            Array.prototype.push.apply(arr1,arr2) 
            console.log(arr1) //[1,2,3,4,5,6]
            
            //es6
            arr1.push(...arr2)

           3.3、合并数组

            //合并数组
            var arr1 = ['a','b']
            var arr2 = ['c','d']
            var arr3 = ['g']
            //es5的合并数组
            console.log(arr1.concat(arr2,arr3)) //返回一个新数组
            // es6 合并数组
            var newArr = [...arr1, ...arr2, ...arr3]

       concat() 连接两个或多个数组,返回一个新的数组。

           3.4、转换伪数组为真数组

       

            //转换伪数组为真数组
            var nodeList = document.querySelectorAll('p');
            var array = [...nodeList]; 

     4、set 和map

    4.1 set 类似 数组  可用于去重(let 会去掉里面重复的元素)

            let arr = [1,2,3,2]
            let arr3 = new Set(arr)
            console.log(arr3) //这里返回的是一个 set形式的数组,不是一个真正的数组
    
            let arr2 = [...new Set(arr)]  // 这里用扩展运算符 解析成序列,再转为数组
            console.log(arr2)  //[1,2,3]

  • 相关阅读:
    TCP/IP(三)数据链路层~2
    TCP/IP(三)数据链路层~1
    TCP/IP(二)物理层详解
    Maven(六)之依赖管理
    RAID : 独立磁盘冗余阵列(Redundant Array of Independent Disks)
    Oracle启动两个监听
    Oracle服务器修改IP后
    su: cannot set user id: Resource temporarily unavailable
    hadoop报错:java.io.IOException(java.net.ConnectException: Call From xxx/xxx to xxx:10020 failed on connection exception: java.net.ConnectException: 拒绝连接
    spring boot 实现mybatis拦截器
  • 原文地址:https://www.cnblogs.com/lpp-11-15/p/11400331.html
Copyright © 2011-2022 走看看