ES6学习笔记(对象的扩展)

比眉伴天荒 2022-05-17 11:05 398阅读 0赞

1.简洁表示法

传统的对象赋值一般会写成这样

  1. const getUserInfo = () =>{
  2. const name = 'Lyn';
  3. const age = 18;
  4. return{
  5. name: name,
  6. age: age,
  7. say: function () {
  8. console.log(this.name + this.age);
  9. }
  10. };
  11. };
  12. const Lyn = getUserInfo();
  13. console.log(Lyn); //打印结果{
  14. name: "Lyn", age: 18, say: ƒ}
  15. console.log(Lyn.say()); //打印结果Lyn18

在ES6中可以写成这样

  1. const getUserInfo = () =>{
  2. const name = 'Lyn';
  3. const age = 18;
  4. return{
  5. name,
  6. age, //属性名和方法名,都都可以简化
  7. say() {
  8. console.log(this.name + this.age);
  9. }
  10. };
  11. };
  12. const Lyn = getUserInfo();
  13. console.log(Lyn);
  14. console.log(Lyn.say());

2.属性名表达式

  1. const key = '$abc';
  2. const obj = {
  3. a: 1,
  4. [key]: 2, //同等于 $abc: 2
  5. }
  6. console.log(obj);

3.复制对象

  1. const obj1 = {
  2. a:1,
  3. b:2
  4. };
  5. const cObj1 = {...obj1};
  6. console.log(cObj1); //打印结果{a: 1, b: 2}

4.合并对象

  1. const obj1 = {
  2. a:1,
  3. b:2
  4. };
  5. const obj2 = {
  6. c:3,
  7. a:9
  8. };
  9. const newObj = {
  10. ...obj1,
  11. ...obj2
  12. };
  13. console.log(newObj); //打印结果{a: 9, b: 2, c: 3},注意这里因为在obj1和obj2中都存在a,合并会取后一个对象的值

5. 取键、键值、键值对

  1. const obj = {
  2. a:1,
  3. b:2,
  4. c:3
  5. };
  6. console.log(Object.keys(obj)); //返回键所组成的数组
  7. console.log(Object.values(obj)); //返回键值所组成的数组
  8. console.log(Object.entries(obj)); //返回键和键值所组成的数组的数组

发表评论

表情:
评论列表 (有 0 条评论,398人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ES6 对象扩展

    属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 下面代码表明,ES6允许在对象之中,直接写变量。这时,属性名为变量名, 属