美文网首页
ES6对象结构赋值精讲

ES6对象结构赋值精讲

作者: 每日log | 来源:发表于2021-01-11 17:15 被阅读0次

01. 解构赋值简介

解构: ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构

例如,传统方式对象中对变量赋值可以用

var obj = {a: 1, b: 2}

ES6变量解构赋值 允许写成下面这样。

var {name: username, age: userage} = {name: 'lisi', age: 21};
console.log(username); // lisi 
console.log(userage); // 21

02. 对象解构赋值是可以简写的

var {name,age} = {name: 'lisi', age: 21};
console.log(name); // lisi 
console.log(age); // 21

03. 对象解构赋值是不受顺限制的

var {name: username, age: userage} = { age: 21, name: 'lisi'};
console.log(username); // lisi 
console.log(userage); // 21

04. 对象解构赋值是可以嵌套的

var {username: username, person: {personName: personName}} = 
{username: 'lisi', person: {personName: 'zhangsan'}};
console.log(username, personName); // lisi zhangsan

简写形式:

var {username, person: {personName}} = 
{username: 'lisi', person: {personName: 'zhangsan'}};
console.log(username, personName); // lisi zhangsan

05. 如果变量解析不成功为undefined

var {name,age,title} = {name: 'lisi', age: 21};
console.log(name,age,title); // lisi 21 undefiend

06. 给变量添加默认值

var {name,age=21} = {name: 'lisi'};
console.log(name, age); // lisi 21

如果变量已默认值,后赋值了新值,此时变量值为新赋值的值。

var {name,age=21} = {name: 'lisi',age: 22};
console.log(name, age); // lisi 22

07. 当赋值为null时,变量值不解析为undefined,解析为null

var {name,age,title} = {name: null, age: null};
console.log(name,age); // null null

08. 当赋值为undefined时,解析为undefined

var {name,age=21} = {name: undefiend, age: undefined};
console.log(name,age); // undefiend 21

09. 与剩余参数一起使用

var { name, age, ...title } = 
{ name: 'lisi', age: 21, title: { a: 1, b: 2 } , d: 8};
console.log(name, age, title); 
// lisi 21  title: { a: 1, b: 2 } , d: 8

10. 用对象解构赋值提取JSON对象值

let json = '{"name": "lisi", "age": 21}';
let {name, age} = JSON.parse(json);
console.log(name, age); // lis 21

下一篇:
1. ES6字符串方法扩展精讲
2. ES6数组方法扩展精讲
3.ES6数组解构赋值精讲
4. 一篇理解前端模块化:AMD、CMD、CommonJS、ES6
推荐阅读:
1. 【建议收藏】最简洁全面的git教程
2. 【建议收藏】你一定会用到的数组的31个方法
3. 【新年福利】滴!你有19本前端开发书籍待收货

相关文章

  • ES6对象结构赋值精讲

    01. 解构赋值简介 解构: ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。 例如...

  • 6.ECMAScript6(ES6)- ES6的结构与赋值

    1、ES6的结构与赋值 (1)允许直接给数组进行赋值,也叫模版匹配 (2)ES6的对象与结构赋值 (3)对已经定义...

  • 26

    ES6 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值,解构赋值主要...

  • JavaScript26

    ES6 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值,解构赋值主要...

  • js day26

    ES6 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值,解构赋值主要...

  • ES6

    ##ES6 ### 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值,...

  • 2018-06-01解构赋值

    ##ES6 ### 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值...

  • ES6基础教程(第二节)——解构赋值

    es6在给对象赋值方面运用了一个新功能,称为解构赋值,以下是从数组的解构赋值,对象的解构赋值,字符串的结构赋值,以...

  • 解构赋值,箭头函数,剩余参数

    解构赋值(★★★) ES6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构 数组解构 对象结构 ...

  • ES6 解构赋值

    嵌套结构的对象解构,有以下几种常见的几种变体: es6解构赋值讲的比较详细的一篇文章:https://segmen...

网友评论

      本文标题:ES6对象结构赋值精讲

      本文链接:https://www.haomeiwen.com/subject/yabdaktx.html