ES6(3)、参数处理

作者: 飞天小猪_pig | 来源:发表于2022-04-11 15:40 被阅读0次
1、默认参数值

(1)、ES6之前:

function sum(a,b,c){
  a=a || 0   //表示有参数传进来就是传进来的参数,否则就是默认是0
  b=b || 0
  c=c || 0
}
sum(1,2)

(2)、ES6改成:
范例1:

function sum(a=0,b=0,c=0){
}
sum(1,2)

范例2:

function f(x = 1, y) {
  return [x, y];
}

f(); // [1, undefined]
f(2); // [2, undefined]
2、剩余参数

语法:

function(a, b, ...theArgs) {
       // ...theArgs 表示剩余传入的参数集合的数组
}

范例1:

function sum(message,...numbers){
  let result=0
  for (let i=0; i<numbers.length; i++){
     result+=numbers[i]
  }
  return message+result
}
sum('结果是',1,2,3,4,5)   //'结果是15'

范例2:快速将一个伪数组变成真数组方法

let args=Array.prototype.slice.call(arguments) //es6之前写法
let args=Array.from(arguments)  //es6新特性
let args= [...arguments]  // //es6新特性:剩余参数方法
3、展开运算符

范例1:

var array1=[1,2,3,4,5,6]
var [a,b,c,...array2]=array1  //表示a=1,b=2,c=3,剩余array1参数组成数组array2
console.log(array2)  //打印出[4,5,6]

范例2:

var array1=[1,2,3,4,5,6]
var [,,,...array2]=array1
console.log(array2)  //打印出[4,5,6]

范例3:

var array1=[1,2,3,4,5,6]
var array2=[0,...array1,7]   //表示在array1基础上给数组array2新增了0和7
console.log(array2)  //打印出[0,1,2,3,4,5,6,7]
4、解构赋值

范例1:

var a=1;
var b=2;
[a,b]=[b,a]    //a 和 b 的值进行互换

范例2:

var [a, b, ...rest] = [10, 20, 30, 40, 50]
console.log(res) //打印出[30,40,50]

范例3:

var jack={
    name:'jack',
    age:'18',
    gender:'male'
}
var {name,age,gender}=jack   
console.log(name) //打印出name:''jack

范例4:

var [a=5,b=7]=[]  //  先将右边进行解构,如果没有传参就采用左边默认的值
console.log(a,b)  //打印出5,7

var [a=5,b=7]=[1]  //  先将右边进行解构,只传一个,另一个用默认值
console.log(a,b)  //打印出1,7

var [a=5,b=7]=[1,2]  //  先将右边进行解构,a和b两个值都用解构的值
console.log(a,b)  //打印出1,2

范例5:

var f=function(){
   return [1,2]
}
var [a,b]=f()  //解构函数返回值是1和2
console.log(a,b)  //打印出1,2

范例6:

let {a = 10, b = 5} = {a: 3};
console.log(a,b)  //打印出1,5

范例7:对象浅拷贝

let objA={
   name:{
     x:'a'
   }
}
let objB={...objA}
console.log(objB)

范例8:

let objA={
   p1:1,
   p2:2
}
let objC={
   p1:1111,
   p3:3
}
let objB={...objA,...objC}   //如果有同名的key,后面对象key值会覆盖前面的
console.log(objB)  //打印出{p1: 1111, p2: 2, p3: 3}

范例9:

var x=1
var y=2
//var obj={x:x,y;y} ,key简写成下面方式,只要key和value名字相同
var obj={x,y]

拓展1:

var obj2={
   //sayHi:function(){}  可以写成下面这种方式
   sayHi(name){}
}

拓展2:

var key='x'
var value='y'
//实现:var obj={"x":"y"}

var obj={
  "key":value  //错的写法,无法实现
}

obj[key]=value  //正确写法,方法1

var obj={
   [key]:value  //正确写法,方法2
}

相关文章

  • ES6(3)、参数处理

    1、默认参数值 (1)、ES6之前: (2)、ES6改成:范例1: 范例2: 2、剩余参数 语法: 范例1: 范例...

  • ECMAScript 6.0 默认参数

    如果默认参数特别多时ES6可以大大提升我们的编写效率 ES3 / ES5 默认参数 ES6 默认参数

  • 函数的拓展

    1、ES6允许为函数参数设置默认值,即直接卸载参数定义的后面。 2、参数的默认作用域 3、rest参数 ES6引入...

  • es6新特性

    es6新特性 1.函数参数添加默认值 es6之前 es6之后: 2.字符串拼接 es6之前: es6之后: 3.解...

  • es6基础知识3(函数拓展)

    title: es6基础知识3(函数拓展)tags: 参数默认值 剩余参数 箭头函数 categories: 前端...

  • es6新特征

    ES6中的默认参数 2.模板表达式 3.for of 循环

  • ES6函数的扩展(一)

    参考:ES6入门(阮一峰) 一、ES6为函数设置默认参数 ES6之前不能为函数设置默认参数,ES6新增可以为函数设...

  • chapter05_构建Spring Web应用程序_3_接受请

    接受请求的输入在SpringMVC中一共有3种方式(1) 查询参数(2) 路径参数(3) 表单参数 处理查询参数(...

  • ES6新特性4:函数的扩展

    1:函数参数的默认值 在ES6之前不能直接为函数设置默认值,只能在函数内单独判断处理。ES6可以为函数设置默认值。...

  • 面试题【Day08】

    本篇绪论 1,Object.prototype.toString.call()方法 2,ES6函数参数解构 3,c...

网友评论

    本文标题:ES6(3)、参数处理

    本文链接:https://www.haomeiwen.com/subject/kajisrtx.html