目录

🥞 ES6 对象

# 对象初始化简写

如果一个对象中的 keyvalue 的名字一样的情况下可以定义成一个。

🌰 例子:

在 ES5 语法中,对象的定义:

let info = {
    title: "title",
    link: "link",
    go: function () {
        console.log(" logging ");
    }
}
1
2
3
4
5
6
7

ES6 中进行简写:

let title = "title-text";
let link = "link-text";
let info2 = {
    title,
    link,
    go() {
        console.log(" logging ");
    }
}

console.log(info2);
console.log(info2.title);
console.log(info2.link);
info2.go();
1
2
3
4
5
6
7
8
9
10
11
12
13
14

因为对象 key:value 存在:

  1. key 和变量的名字一致时, 可以只指定一次;
  2. 函数可以省略 function

# 对象的解构

以往,对象一般使用 . 或者 [] 获取值或者调用方法。

let title = "title-text";
let link = "link-text";
let info2 = {
    title,
    link,
    go() {
        console.log(" logging ");
    }
}

// 第一种方法:.
console.log(info2);
console.log(info2.title);
console.log(info2.link);
info2.go();

// 第二种方法: []
console.log(info2);
console.log(info2["title"]);
console.log(info2["link"]);
info2["go"]();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

ES 6 提供一些获取快捷获取对象属性和行为方式

// ES6 中对象解构:快速获取属性和方法
const { title, link, go } = info2;
console.log(title);
console.log(link);
go();
1
2
3
4
5

# 对象传播符号

使用 ... 传播对象中的内容。

🌰 例子:

// 对象传播操作符
let person = {
    name: "name-text",
    address: "address-text",
    link: "link-text",
    phone: 123456,
    go(){
        console.log("logging");
    }
}

// 传播操作符... 解构,剩下的部分赋予给person2
let {name, address, ...person2} = person;

console.log(name);
console.log(address);
console.log(person2);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
📢 上次更新: 2022/09/02, 10:18:16