ES 之 09.扩展参数和扩展运算及对象字面量扩展

    const alpha=["A","BB",'c'];
    const lan=['php','go','js'];
    //中间插入java
    let members=[];
    members=members.concat(alpha)
    members.push('java')
    members=members.concat(lan)

    //使用扩展做法
    const newMembers=[...alpha,'java',...lan]

    console.log([...'php']) //array
    //等同下面的
    console.log(Array.from('php')) //array
数组的复制
const alpha=["A","BB",'c'];
// const curAlpha=alpha;
// curAlpha[0]='aaa'; //导致alpha的值也会改变

const newAlpha=[...alpha]
newAlpha[0]='a' ;//alpha没被改变
扩展运算符在函数参数里运用
const  fruit=['apple','bananas','pear']
const newFruit=['orange','mongo'];

//把两者合并有不产生新的数组

// fruit.push.apply(fruit,newFruit) //fruit改变了

//或者在ES6里
fruit.push(...newFruit)
  • 属性名和变量名相同时的对象赋值省略key
  • 对象字面量了的方法定义简写
const name='hk'
const age=29;
const sex=1;

//当属性名和变量同名时
const person={
    name,
    age,
    sex
}
//方法简写

const anmimal={
    name,
    age,
    greet(){
        console.log(`${this.name} say hello`)
    },
    getName(){
        console.log(`${this.name}`)
    }
}

let id=0;
const userIds={
    [`user-${++id}`]:id,
    [`user-${++id}`]:id,
    [`user-${++id}`]:id
}

const keys=['name','age','birthday']

const  values=['hk',2,'2020-01-01'];

const p={
    [keys.shift()]:values.shift(),
    [keys.shift()]:values.shift(),
    [keys.shift()]:values.shift(),
}
posted @ 2020-06-13 17:14  H&K  阅读(218)  评论(0)    收藏  举报