web前端—前端三剑客之JS-ES6(6):对象数据结构扩展、数组方法

数组方法见菜鸟教程:https://www.runoob.com/w3cnote/es6-array.html

对象数据菜鸟更多方法:https://www.runoob.com/w3cnote/es6-object.html 

1、允许直接写入变量和函数,作为对象的属性和方法

        let a = '孟浩然';
        let b = {a};    // 允许直接写入变量和函数,作为对象的属性和方法
        console.log(b);
        // 等同于:let b = {a:a}

2、对象属性名和方法名的简写

  • 属性名:见arr2.name
  • 方法名:见arr2.fn()   \   arr2.fn(input)

3、属性名或者方法名是关键字的写法:见arr2.in()

4、ES6允许字面量定义对象时使用表达式作为对象的 属性名 和 方法名,但要把表达式放在方括号内

5、属性名表达式如果是一个对象,默认情况下会自动将对象转为字符串[object Object]

        let name = '张养浩';
        let obj = {'hello':'你好'};
        let arr1 = {
            name:name,
            'in':function(){
                return '这是使用关键字in作为属性名时,属性名需要写成字符串形式';
            },
            fn:function(){
                return '这是一个方法';
            },
            fn2:function(input){
                return '你传入的参数是:'+ input;
            }
        };
        // 简洁写法
        let arr2 = {
            name,   // 使用之前已经定义过的对象作为属性时,只写要使用的对象名即可,属性值可以省略
            zi:'希孟',
            in(){
                return '这是使用关键字in作为属性名的简洁写法,属性名不需要写成字符串形式';
            },
            fn(){   // 括号里面可以传入参数,如下fn2
                return '这是一个简洁写法';
            },
            fn2(input){
                let age = input;
                return {age:age,name:this.name};
            },
            ['zuo'+'ping']:'《潼关怀古》',   // ES6允许字面量定义对象时使用表达式作为对象的 属性名 和 方法名,但要把表达式放在方括号内
            [obj]:'属性名表达式如果是一个对象,默认情况下会自动将对象转为字符串[object Object]',
        };
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值