ES 6中定义对象属性

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"}
    
发布了170 篇原创文章 · 获赞 61 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/NDKHBWH/article/details/103885954
今日推荐