前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 学习-15.解构赋值

JavaScript 学习-15.解构赋值

作者头像
上海-悠悠
发布2022-05-23 11:21:06
2520
发布2022-05-23 11:21:06
举报
文章被收录于专栏:从零开始学自动化测试

前言

JavaScript ES6 新增解构赋值,可以快速从数组或对象中取出成员

  • 解构: 将对象或者数组中的某个成员取出来
  • 赋值: 取出来的成员按顺序赋值给变量

python里面的解构赋值

如果有python语法基础,可以回顾一下python里面的解构赋值

代码语言:javascript
复制
a, b, c = [1, 2, 3]
print(a)  # 1
print(b)  # 2
print(c)  # 3

abc会分别得到list列表里面的1,2,3。

还有一种场景,我们在交互a和b变量值的时候,也会用到

代码语言:javascript
复制
a = "hello"
b = "world"
a, b = b, a
print(a)   # "world"
print(b)   # "hello"

以上的场景其实就用到了解构赋值

数组的解构赋值

使用中括号 [ ] 来进行解构数组, 需注意变量名称和数组的值一一对应

代码语言:javascript
复制
let [a, b, c] = ['hello', 'world', 'yoyo'];
console.log(a, b, c);  // hello world yoyo

或者把数组设置为一个变量,再解构

代码语言:javascript
复制
aa = ['hello', 'world', 'yoyo'];
let [a, b, c] = aa;
console.log(a, b, c);  // hello world yoyo

如果变量的个数,少于数组的个数,变量会按顺序赋值,不会报错

代码语言:javascript
复制
aa = ['hello', 'world', 'yoyo'];
let [a, b] = aa;
console.log(a); // hello
console.log(b);  // world

如果变量个数大于数组的个数,多余的变量为undefined

代码语言:javascript
复制
aa = ['hello', 'world', 'yoyo'];
let [a, b, c, d] = aa;
console.log(a);
console.log(b);
console.log(c);
console.log(d);  // undefined

在使用entries() 遍历Map 成员的时候也可以用到解构赋值,entries() 返回 Map 对象中键/值对的迭代器

代码语言:javascript
复制
// for... of 遍历取key, value
for(let item of m.entries()){
     console.log(item[0], item[1]);
}

item 是一个数组[key, value],可以使用解构赋值分别给到变量key, value

代码语言:javascript
复制
// 解构赋值[key, value] = item
for(let [key, value] of m.entries()){
     console.log(key, value);
}

对象的解构赋值

对象的解构用大括号{}

代码语言:javascript
复制
const person = {
    name: 'yoyo',
    age: 20,
    address: () => {
        return "上海市"
    }
}
let {name, age, address} = person;
console.log(name); // yoyo
console.log(age);  // 20
console.log(address());  // 上海市

分别输出对象的属性对应的值。

2022年第 11 期《python接口web自动化+测试开发》课程,6月5号开学!

2022年第 1 期《Python 测试平台开发》课程

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • python里面的解构赋值
  • 数组的解构赋值
  • 对象的解构赋值
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档