美文网首页程序员
javascript之初识变量的解构赋值

javascript之初识变量的解构赋值

作者: 秘果_li | 来源:发表于2017-03-10 17:24 被阅读0次
什么是变量的解构(Destructuring)赋值?

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

只要等号两边的模式相同,左边的变量就会被赋予对应的值

  • 数组解构赋值
 let [m,n]=[9,4];
 console.log(m,n); // m 9; n 4  
  • 对象解构赋值(对象的结构赋值,与顺序无关因为变量必须与属性同名,才能取到正确的值)
let {p,q}={q:"hello",p:"hi"};
console.log(p,q); //hi    hello

注:
1.如果解构不成功,变量的值就等于undefined

let {p} = {q: 'a'};
p // undefined

2.解构也可以用于嵌套结构的对象

let [a, [b], c] = [1, [2], 3]; //a=1 ; b=2; c=3;

3.如果要将一个已经声明的变量用于解构赋值,要在 {} 外加上 () 否则JavaScript引擎会将 {p} 理解成一个代码块

let p;
({p} = {p: 8});

但是在有些情况下是不能使用圆括号的:

1.变量声明语句中,不能带有圆括号
2.函数参数中,模式不能带有圆括号
3.赋值语句中,不能将整个模式,或嵌套模式中的一层,放在圆括号之中

所以可以使用 () 的情况只有一种 —— 赋值语句的非模式部分,可以使用圆括号

用途

<1> 交换两个变量的值

let a=1,b=2;
[a,b]=[b,a];     //a=2  b=1

<2>从函数返回多个值
一般要返回多个值的话,我们只能用数组存值,然后输出,有了解构赋值就可以提取出多个值

function fun() {
  return [1, 2, 3];
  }
  let [a, b, c] = fun();
  console.log(a,b,c);  // 输出1 2 3

相关文章

  • 解构赋值 , 函数默认值 , 扩展运算符 , 计算属性名

    解构赋值 是一种 Javascript 表达式。通过解构赋值, 可以将属性/值从对象/数组中取出,赋值给其他变量。...

  • javascript之初识变量的解构赋值

    什么是变量的解构(Destructuring)赋值? ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋...

  • 数组的解构赋值

    解构赋值语法是一种 Javascript 表达式。通过解构赋值,可以将属性/值从对象/数组中取出,赋值给其他变量。...

  • 双语学习解构赋值、数组解构和对象解构

    解构赋值语法是一种 Javascript 表达式。通过解构赋值, 可以将属性值从对象或数组中取出,赋值给其他变量。...

  • 解构赋值

    解构赋值:ES6 中新增了变量赋值的方式,从数组和对象中提取值,对变量进行赋值。 单独赋值给变量,解构赋值。 解构...

  • JavaScript - 变量的解构赋值

    数组的解构赋值 基本用法 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destru...

  • TS基础篇4:解构 与 展开

    (一)解构数组 1、解构赋值 2、作用于函数参数 3、...语法创建剩余变量 ~~由于是JavaScript, 你...

  • 什么是解构赋值?解构赋值的用途有哪些?

    什么是解构赋值?解构赋值的用途有哪些? 1.什么是解构赋值? ①定义: 解构赋值语法是一种 Javascript ...

  • ES6笔记(解构赋值)

    ES6笔记(解构赋值) 解构赋值 变量的解构: 解构赋值允许指定默认值。 解构赋值必须保证赋值方 被赋值方类型一...

  • ES6解构赋值

    解构赋值 解构赋值语法是一个 JavaScript 表达式,这使得可以将值从数组或属性从对象提取到不同的变量中 数...

网友评论

    本文标题:javascript之初识变量的解构赋值

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