js中的解构赋值:可以同时对一组变量进行赋值

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>js中的解构赋值:可以同时对一组变量进行赋值</title>

</head>

<body>

<script type="text/javascript">

// 先看下传统的赋值:把一个数组的元素分别赋值给几个变量

var array = ['hello', 'JavaScript', 'ES6'];

var x = array[0];

var y = array[1];

var z = array[2];

// es6之后可以使用解构赋值,直接对多个变量同时赋值

// var [a, b, c] = ['hello', 'JavaScript', 'ES6'];

var [a, b, c] = array;

//  注意,左边不是数组

console.log(a, b, c); // hello JavaScript ES6

// 如果要从对象中取出若干属性,也可以使用解构赋值,便于快速获取对象的指定属性

var person = {

name: '小明',

age: 20,

gender: 'male',

passport: 'G-12345678',

school: 'No.4 middle school'

};

var {

name,

age,

passport

} = person;

console.log(name, age, passport);

//使用解构赋值的时候,若对应的属性不存在,变量将被赋值为undefined

// 另外对于

var myName = {

name: "hehe",

gender: 1,

passport: "123456",

}

var {

name,

passport: id

} = myName; // 注意这里,passport不是变量,而是为了让id获得passport的属性

console.log(name, id);

// 另外解构赋值还可以使用默认值,这样就避免了不存在的属性返回undefined的问题

var newApp = {

name: "hehe",

gender: 1,

passport: "123456",

}

var {

name,

age = 23

} = newApp; // 注意,这里对age给了一个默认值

console.log(name, age);

// 注意是会报错的,下面这种写法

// {x,y} = {name:23,x:123,y:456};// 因为js会{开头的当做块处理,可以添加一个()

({x,y} = {name:23,x:123,y:456});

//解构赋值的使用场景: 简化代码

// 1.两个值进行交换

var [x,y] = [11,22];

console.log(x,y);

[x,y] = [y,x];

console.log(x,y);

</script>

</body>

</html>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • JavaScript的相关语法知识:1、函数(important)基本上所有的高级语言(C、OC、JavaScri...
    天山雪莲_38324阅读 3,823评论 0 2
  • js学习笔记 语法 后续补充笔记 join()方法var fruits = ["Banana", "Orange"...
    crabor阅读 2,338评论 0 2
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,714评论 0 13
  • 一.函数JS函数有个很大的坑,就是调用时参数可以和定义时不一致,这真是。。。并且每个函数执行到return语句时会...
    SkyLine7阅读 2,865评论 0 0
  • 我们一直强调把C++模板元编程当做一门图灵完备的纯函数式语言来学习,为了证明它这种能力,之前举的都是类似计算阶乘的...
    MagicBowen阅读 9,917评论 0 2

友情链接更多精彩内容