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(),
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章