🥞 ES6 对象
# 对象初始化简写
如果一个对象中的 key
和 value
的名字一样的情况下可以定义成一个。
🌰 例子:
在 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
2
3
4
5
6
7
8
9
10
11
12
13
14
因为对象
key:value
存在:
- key 和变量的名字一致时, 可以只指定一次;
- 函数可以省略
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
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
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
编辑 (opens new window)
📢 上次更新: 2022/09/02, 10:18:16