运算符扩展

rest运算符--剩余运算符

->替代原生 JS中函数接收数据的arguments特殊参数--可当形参使用

语法:

// rest参数只能出现在行使参数的最后一个位置

// 用于接受除了固定参数之外,其他的所有参数数据(替代了原生的arguments)

function fn(固定参数, ...剩余参数) {

}

 代码结构:

function show(name, ...info) {
            console.log(`公司名称:${name}`)
            console.log(`公司信息info:${info}`)
            console.log(`公司信息arguments:`, arguments)
}

        // show("OFFCN")   // OFFCN参数 -> name接受
        // show("中公", "WEB前端")
        show("中公", "WEB前段", "java", "devops", "delphi")

注:

- rest->剩余参数,会将函数中多个参数接受并使用英文逗号进行拼接,在函数内部直接使用

         如果需要对参数进行区分,固定参数和剩余参数,rest剩余参数

             --优点:将固定参数和剩余参数直接进行了区分

             -- 缺点:ES6支持(忽略)

- arguments是一个特殊参数,会将函数中所有参数接受并封装在一个类数组的数据中

         如果对函数接受的所有参数不做任何区分,arguments操作参数更加方便

            --优点:直接接受所有参数数据

            --缺点:无法区分固定参数和剩余参数

综上:项目开发过程中建议使用rest剩余参数

spread--延展运算符

->数据集延展运算符

->将一个数据集合中的数据进行拼接并返回处理--可当实参使用

语法:

// 数据集

var arr = [1, 2, 3, 4, 5]

// 使用延展运算符

console.log(...arr)

代码操做 

// 2、spread延展运算符
var arr = ["web前端开发", "java", "python", "javascript"]
// console.log(...arr) // 延展运算符:web前端开发 java python javascript
// 延展运算符,一般可以当成函数的实际参数使用
show("OFFCN", ...arr)

// 注意:延展运算符,一般不能直接当成表达式进行运算
// var info = ...arr  // 提示语法错误,没有这种语法
// 可以当成一种特殊的运算,完成数据的拷贝
var arr2 = [...arr]  // 数组拷贝
arr2.push("C++")
console.log(arr, arr2)

注:

延展运算符:spread运算符,主要用于展开数据集

- 延展运算符,主要的应用场景,当成函数实际参数将数据集进行拆分传递

- 延展运算符,不能直接在表达式中进行操作

- 延展运算符,可以完成数据的拷贝操作【底层按照解构赋值的方式进行拷贝】

rest和spread主要是为函数式编程提供了语法上的优化 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值