【vue】es6 解构赋值--函数参数解构赋值

  • 函数的参数也可以使用解构赋值。

    function add([x, y]){
      return x + y;
    }
    
    add([1, 2]); // 3

    上面代码中,函数add的参数表面上是一个数组,但在传入参数的那一刻,数组参数就被解构成变量xy。对于函数内部的代码来说,它们能感受到的参数就是xy

  • [[1, 2], [3, 4]].map(([a, b]) => a + b);

默认值

  • function move({x = 0, y = 0} = {}) {
      return [x, y];
    }
    
    move({x: 3, y: 8}); // [3, 8]
    move({x: 3}); // [3, 0]
    move({}); // [0, 0]
    move(); // [0, 0]

    上面代码中,函数move的参数是一个对象,通过对这个对象进行解构,得到变量xy的值。如果解构失败,xy等于默认值。

  • function move({x, y} = { x: 0, y: 0 }) {
      return [x, y];
    }
    
    move({x: 3, y: 8}); // [3, 8]
    move({x: 3}); // [3, undefined]
    move({}); // [undefined, undefined]??????
    move(); // [0, 0]??????

    上面代码是为函数move的参数指定默认值,而不是为变量xy指定默认值,所以会得到与前一种写法不同的结果。

  • [1, undefined, 3].map((x = ‘yes‘) => x);
    // [ 1, ‘yes‘, 3 ]

    undefined就会触发函数参数的默认值。

      

原文地址:https://www.cnblogs.com/websmile/p/11528591.html

时间: 2024-08-06 20:45:15

【vue】es6 解构赋值--函数参数解构赋值的相关文章

ES6函数参数解构

ES6函数参数解构 常规的JavaScript若要给函数传递的参数是一个对象,需要像下面这样来实现: function sayName(person) { if(Object.prototype.toString.call(person) == '[object Object]') { console.log( `${person.firstName} ${person.lastName}`); } } sayName({firstName: 'Stephen', lastName: 'Curr

C++赋值函数详解

赋值函数        每个类只有一个赋值函数         由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视.  1,如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数.倘若类中含有指针变量,那么这两个缺省的函数就隐含了错误.               以类String的两个对象a,b为例,假设a.m_data的内容为“hello”,b.m_data的内容为“world”.                现将a赋给b,缺省赋值

标准文件IO详解(九)---fileno函数详解

在前面笔记“打开流详解”中提到了 fdopen 函数,可以通过文件描述符 fd 来获取对应的文件流指针.而同时 C 库函数提供了 fileno 函数,这个函数的作用就是能够通过 文件流指针来获取对应的 文件描述符 fd . ======================================================= 函数原型: 函数参数: stream:要操作的文件流指针 返回值: 函数返回与文件流指针对应的文件描述符,此函数不会出错(和umask函数类似) =========

文件IO详解(五)---open函数详解

open函数用来在进程中打开文件,如果成功则返回一个文件描述符fd. ======================================================= 函数原型: 函数参数: pathname:打开文件的路径名 flags:用来控制打开文件的模式 mode:用来设置创建文件的权限(rwx).当flags中带有O_CREAT时才有效. 返回值: 调用成功时返回一个文件描述符fd 调用失败时返回-1,并修改errno ==========================

文件IO详解(七)---lseek函数详解

lseek函数用来设置当前文件偏移量. ====================================================== 函数原型: 函数参数: fd:要操作的文件描述符 offset:基于whence参数的偏移量 whence:参考点位置 返回值: 调用成功时返回当前相对于文件开头的偏移量,以字节为单位 调用失败时返回 -1,并修改errno的值 ======================================================= when

php调用C代码的方法详解和zend_parse_parameters函数详解

http://blog.csdn.net/super_ufo/article/details/3863731 php调用C代码的方法详解 在php程序中需要用到C代码,应该是下面两种情况: 1 已有C代码,在php程序中想直接用 2 由于php的性能问题,需要用C来实现部分功能 针对第一种情况,最合适的方法是用system调用,把现有C代码写成一个独立的程序.参数通过命令行或者标准输入传入,结果从标准输出读出.其次,稍麻烦一点的方法是C代码写成一个daemon,php程序用socket来和它进行

标准文件IO详解(六)---fclose函数详解

fclose函数和close函数类似,用于关闭文件流指针.fclose函数被调用后,属于该文件流指针的用户缓冲区将会被强制刷新,并且对应的文件描述符 fd 也将会被关闭. ====================================================== 函数原型: 函数参数: fp:要关闭的文件流指针 返回值: 调用成功时返回 0 调用失败时返回 EOF

文件IO详解(八)---read函数详解

read函数用来在进程中读取某文件中的内容. 函数原型: 函数参数: fd:要读取的文件描述符 buf:保存从文件中读取到的内容的内存首地址 count:希望从文件读取到字节数 返回值: 读取文件发生错误时返回 -1 读取文件遇到文件结尾时返回 0 读取文件正常时返回实际读到的字节数 要注意希望读到的字节数和实际读到的字节数可能并不相等,实际读到的字节数总是小于等于希望读到的字节数.

文件IO详解(六)---close函数详解

close函数用来在进程中关闭文件.当使用close关闭文件时,加在该文件上的所有的建议锁都将会被释放.内核中的文件表项也将会被释放. 函数原型: 函数参数: fd:要关闭文件的文件描述符 返回值: 调用成功返回 0 调用失败返回 -1,并修改errno的值