js的语法糖

1,属性值简写

        let name = '王力宏'
        let person = {
            name
        }
        console.log(person); //{name: '王力宏'}

        function makePerson(name) {
            return {
                name
            };
        }
        let person2 = new makePerson('霆锋') //{name: '霆锋'}
        console.log(person2);

2,可计算属性,动态属性赋值

       const ageKey = 'age'

        let person3 = {}
        person3[ageKey] = 30
        console.log(person3); //{age: 30}

        const nameKey = 'name';
        const age2Key = 'age';
        const jobKey = 'job';
        let uniqueToken = 0;
        function getUniqueKey(key) {
            return `${key}_${uniqueToken++}`;
        }
        let person4 = {
            [getUniqueKey(nameKey)]: 'Matt', [getUniqueKey(age2Key)]: 27,
            [getUniqueKey(jobKey)]: 'Software engineer'
        };
        console.log(person4); // { name_0: 'Matt', age_1: 27, job_2: 'Software engineer' }

3,函数名简写

        let car = {
            name: '老王',
            getName: function () {
                console.log(this.name);
            }
        }
        car.getName()
        let car2 = {
            name: '老王2',
            getName(){
                console.log(this.name);
            }
        }
        car2.getName()

        const methodKey = 'getName'
        let car3 = {
            name: '老王3',
            [methodKey]() {
                console.log(this.name);
            }
        }
        car3.getName()

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值