zoukankan      html  css  js  c++  java
  • es6 函数默认参数-对象

    注意参数是对象,并且等号左边是解构后的变量,用等号赋值,右边是参数,也就是正常的变量,所以对象用冒号给值

    案例1: 是对解构后的变量给默认值

    function move({x = 0, y = 0} = {}) {
       return [x, y];
    }
    //没什么好说的
    console.log(move({x: 3, y: 8}));// [3, 8]
    
    //参数直有一个x,所以解构后没有y则使用默认
    console.log(move({x: 3}));// [3, 0]
    
    //传递了一个空对象参数,但是解构出来x,y都没有,则使用默认值
    console.log(move({}));// [0, 0]
    
    //无参数,会使用参数的默认值也就是{},解析后x,y都没有,则使用默认值
    console.log(move());// [0, 0]
    

    案例2: 参数给默认值

    function move({x, y} = { x: 0, y: 0 }) {
        return [x, y];
     }
     
     //没什么好说的
     console.log(move({x: 3, y: 8})); // [3, 8]
     
     //传递了一个有x的对象则不使用默认参数{x:0,y:0},但是解构出来后没有y,并且也没有默认值,所以y是undefined
     console.log(move({x: 3})); // [3, undefined]
     
     //参数传递了一个空对象,不使用默认参数。但是没有解构出x,y 。都为undefined
     console.log(move({})); // [undefined, undefined]
     
     //没有传递参数,所以使用默认参数{x:0,y:0}。 都能解构出来,所以都为0
     console.log(move()); // [0, 0]
    
  • 相关阅读:
    XSS的本质和防御
    关于网站的数据安全总结
    教培行业的复杂性
    教育到底想要什么(一)
    如何在流中重复获取body数据内容
    教育到底想要什么(二)
    鼓吹海
    翻译:三分钟学懂JSON
    翻译:ASP.NET MVC 3:Razor的隐式和显示代码嵌入
    分享到各种热门网站的html代码实现
  • 原文地址:https://www.cnblogs.com/sunheng/p/7277645.html
Copyright © 2011-2022 走看看