当前位置: 代码迷 >> 综合 >> 延展操作符和解构的简单实际应用
  详细解决方案

延展操作符和解构的简单实际应用

热度:69   发布时间:2023-10-22 10:26:44.0

延展操作符(…)

function showMe(name,age) {
    return "名字是"+name+"年龄是"+age;
}var name = "zhangsan";
var age = 18;
console.log(showMe(name,18));//名字是zhangsan年龄是18
//或
var me = ["jack",20];
console.log(showMe(...me));//名字是jack年龄是20
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

改成ES2015的写法:

let showMe = (name,age)=>`${name}的年龄是${age}`;//
let me = ["lily",18];
console.log(showMe(...me));//lily的年龄是18
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

解构结合延展操作符

let [sex,...me] = ["男","jack",18];
console.log(me.length);//2
//里面的me仍然会变成数组,而且值就是"jack",18
  
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

默认值

var [name="jack",age=18] = [];
//这时左右2边就不需要对等,因为name和age都有默认值
  
  • 1
  • 2
  • 1
  • 2
//实战中的做法
let getName = ()=> {//这里做业务处理,如果没有取到值,则返回一个undefinedreturn undefined;
}
let [sex="男",name="jack",age=18] = [,getName(),];
console.log(name);//jack
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如果返回false

//实战中的做法
let getName = ()=> {//这里做业务处理,如果没有取到值,则返回一个undefinedreturn false;
}
let [sex="男",name="jack",age=18] = [,getName(),];
console.log(name);//那么这里就打印:false
  相关解决方案