ES6 函数默认参数、rest运算符(扩展运算符)剩余参数

一.函数默认参数

1.旧函数默认参数写法

function show(a, b){
    a = a || 'haha';
    b = b || 'hehe';
    console.log(a, b);
}
show('heihei');
-->输出heihei hehe

2.新函数默认参数写法

function show(a = 'haha', b = 'hehe'){
    console.log(a, b);
}
show('heihei');
-->输出heihei hehe
function show({x=0,y=0}){
    console.log(x, y); 
}
show({x:1, y:2});

或参数默认控制
function show({x=0,y=0}={}){
    console.log(x, y); 
}
show();

二.函数参数默认已经定义了,不能再使用let,const声明

function show(a = 18){
    let a = 101;
    console.log(a);
}
show();
-->报错

三.rest运算符(扩展运算符)

1. 三个点...

  • (1)数组扩展运算符,展开数组
let arr = ['apple','banana','orange'];
console.log(arr);
-->输出['apple','banana','orange']
console.log(...arr);
-->输出 apple banana orange
function show(a,b,c){
    console.log(a,b,c);
}
show(...[1,2,3]);
  • (2)收回数组
function show(...a){
    console.log(a);
}
show(1,2,3,4,5);
-->输出[1,2,3,4,5]
  • (3)也叫剩余运算符,rest运算符
    当做剩余运算符来用时,必须放在参数最后一位,不可以放在中间某个参数位置。
function show(a,b,...c){
    console.log(a,b);
    console.log(c);
}
show(1,2,3,4,5);
-->输出 1 2 [3,4,5]
  • (4)rest参数会获得函数调用的时候多余的参数

2.配合函数排序使用

function show(){
    let a = Array.prototype.slice.call(arguments);
    return a.sort();
}
console.log(show(1,9,8,2,3));

等同于

function show(...a){
    return a.sort();
}
console.log(show(1,9,8,2,3));

3.复制数组

let arr = [1,2,3,4];
复制arr数组,有以下几种方法
let arr1 = [...arr];
let arr1 = Array.from(arr);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前面的话 函数是所有编程语言的重要组成部分,在ES6出现前,JS的函数语法一直没有太大的变化,从而遗留了很多问题,...
    CodeMT阅读 837评论 0 1
  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    陈老板_阅读 465评论 0 1
  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    呼呼哥阅读 3,476评论 0 1
  • 知乎帖传送门:怎样用通俗的语言解释REST,以及RESTful?
    转身丶即天涯阅读 123评论 0 0
  • 3月15日 |《品牌洗脑》 品牌的诱惑,为何难以抵抗?剁手党必读。 本书关键词 品牌洗脑 营销 专业解读人 天宇。...
    普朗克的驾驶员阅读 418评论 0 2