学习笔记 JavaScript ES6 解构赋值

  • 数组的解构赋值
  • 对象的解构赋值
  • 字符串的解构赋值
  • 参数的解构赋值
  • 方法调用中对象的解构赋值
  • 返回值的解构赋值
  • JSON的解构赋值 

解构赋值就是按照一定的模式,从数组或对象中提取值,然后对变量赋值(模式匹配)。

解构赋值:“=”两边的结构是一样的

# JS内引入其它JS时,使用import关键字

import './2-2' //注意,js扩展名是可以不写的

----------------------------------------------------------------------

正式开始:

  • 数组的解构赋值
let [a, b, [c, d]] = [1, 2, [3, 4]]

console.log(a, b, c, d)

------------
1,2,3,4


let [a, b, c, d = 5] = [1, 2, [3, 4], 6]

console.log(a,b,c,d) // d有初始值,后面又新赋值了,就是说如果你传给我值,就以新传的为准,如果不传就以默认的为准

----------------------
1 2 (2) [3, 4]  6
  • 对象的解构赋值
let user = {
  name: "wangshuo",
  age: 36,
};

let {name, age} = user // {}是对象,[]是数组,对象用key查找,数据用顺序查找
console.log(name,age)

-------------------
wangshuo 36

如果想给上面代码中name,age换一个别名,可以用“ : ”实现

name: uname, age: uage

let user = {
  name: "wangshuo",
  age: 36,
};

let { name: uname, age: uage } = user;
console.log(uname, uage);

------------------
wangshuo 36
  • 字符串的解构赋值
let str = 'sure';
let [a, b, c, d] = str;

console.log(a, b, c, d);
--------------------
s u r e
  • 参数的解构赋值
function foo(a, b, c) {
  console.log(a, b, c);
}

let arr = [1, 2, 3];
foo(arr);

-----------------------
1,2,3
  • 对象的解构赋值
function foo({ name, age, school = "sy" }) {
  console.log(name, age, school);
}

let obj = {
  name: "wangshuo",
  age: "36",
  school: "stinghua",
};

foo(obj);

--------------------------
angshuo 36 stinghua
  • 返回值的解构赋值
function foo() {
  let obj = {
    name: "wangshuo",
    age: "36",
    school: "stinghua",
  };

  return obj;
}

let { name, age } = foo();

console.log(name, age);

------------------
wangshuo 36
  • JSON的解构赋值

        思路是先将JSON转为对象,再进行对象的解构赋值

let json = '{"a":"hello","b":"world"}';
let { a, b } = JSON.parse(json);
console.log(a, b);

----------------------
hello world

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值