ES6新语法--对象成员简写、对象展开、数组展开

对象成员简写

/**
 * 对象成员简写
 */

//声明变量
let name = 'chen';
let age = 18;
let gender = 'man';
let score = 100;

//声明对象
//对象里面有name age gender score
//要对象属性有上面变量的值

//es5
// var obj = {
    
    
//     name:name,
//     age:age,
//     gender:gender,
//     score:score,
//     sayHi:function(){
    
    
//         console.log('hehe,ie');
//     }
// }
// console.log(obj);
// obj.sayHi();

//es6  对象成员简写
var obj = {
    
    
        name,//就相当于name:name 
        age,
        gender,
        score,
        // fenshu,//fenshu:fenshu 因为没有对应的变量名的话 所以会报错
        fenshu:score,//可以穿插不是简写的
        sayHi(){
    
    //sayHi() 相当于 sayHi:function()
            console.log('hehe,ie');
        }
}
console.log(obj);
obj.sayHi();

扩展(展开)运算符

对象展开
/**
 * 对象展开 ...
 */

//声明对象
let chinese = {
    
    
    skin:'yellow',
    hair:'black',
    sayHi(){
    
    
        console.log('你吃了吗?');
    }
}

//声明对象
let zhubo = {
    
    
    skill:'c t r l',
    song:'ji ni ta mei'
}

//声明对象
let linge = {
    
    
    // skin:'yellow',
    // hair:'black',
    // sayHi(){
    
    
    //     console.log('你吃了吗?');
    // },
    // skill:'c t r l',
    // song:'ji ni ta mei'
    ...chinese,//意思就是 通过 ...  对象扩展  吧chinese对象中的内容拿过来 
    ...zhubo,
    gender:'man',
    hair:'green'//如果上面扩展的对象中有与这里的属性相同的 就看是在下面就是谁的
}
console.log(linge);
数组展开
/**
 * 展开运算符...
 * 数组展开
 */

//1.
// let arr1 = [10,20,30];
// let arr2 = [...arr1,200,300];//...直接将arr1的内容带过来了 并且放在对应的位置  
// console.log(arr1);//[10,20,30]
// console.log(arr2);//[10,20,30,200,300]


//2.
//求数组最大值
let arr1 = [10,8,7,66,65,34];
//可以用
let max1 = Math.max.apply(Math,arr1);
console.log(max1);

//还可以用 数组扩展语法
let max2 = Math.max(...arr1);//...arr1  就直接将所有的数组的元素放进了这个里面
console.log(max2);

猜你喜欢

转载自blog.csdn.net/weixin_44492275/article/details/107999103
今日推荐