ES 6中定义对象属性

Web前端 同时被 2 个专栏收录
61 篇文章 2 订阅
26 篇文章 0 订阅

ES6 允许在对象中使用表达式定义属性名,这时表达式放置在方括号内。

一.ES 6中定义对象属性

1.基本定义

  • ①在ES6中定义对象属性有两种方式。

    // 方法一
    obj.foo = true;
    
    // 方法二
    obj['a' + 'bc'] = 123;
    
  • ②在es5的对象中定义属性名

    var obj = {
      foo: true,
      abc: 123
    };
    
  • ③在es6对象中使用表达式定义对象属性名

    let propKey = 'foo';
    
    let obj = {
      [propKey]: true,
      ['a' + 'bc']: 123
    };
    
  • ④在es6对象可以使用表达式定义方法名

    let obj = {
      ['h' + 'ello']() {
    	return 'hi';
      }
    };
    
    obj.hello() // hi
    
  • ⑤属性名表达式如果是一个对象,默认情况下会自动将对象转为字符串[object Object],对象key值之间会相互覆盖

    const keyA = {a: 1};
    const keyB = {b: 2};
    
    const myObject = {
      [keyA]: 'valueA',
      [keyB]: 'valueB'
    };
    
    myObject // Object {[object Object]: "valueB"}
    
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值