ES6-变量的结构赋值

比如有一个对象obj={name:‘tom‘,age:11};,当我们需要将这个对象的name和age赋值给另外的变量时候,es5中是var name = obj.name;var age =obj.age;,在es6中针对这种将对象的属性(或者数组的值)赋值给外面的变量的需求,提供了一种更加简便的方式:

//1 变量的解构赋值

let obj = {name:‘tom‘,age:11};

//这种对象的结构赋值要求定义的变量名必须和对象的属性名一致,在这里必须是变量名必须是name和age

//也可以只取对象中的部分属性赋值为变量,如let{age} = obj;

let {name,age} = obj;//相当于var name = obj.name;var age = obj.age;

console.log(name+age);

//2 数组的解构赋值

let arr =[1,2,‘test‘,true];

//数组的结构赋值变量可以随意命名,但是下标与数组中下标位置对应

//也可以只取数组中部分值赋值给变量,如let[,,a]=arr;等价于var a = arr[2];

let [a,b,c,d]=arr;//相当于var a = arr[0];var b = arr[2];‘...

console.log(a);

console.log(b);

console.log(c);

console.log(d);

//3 变量的结构赋值在传参时的使用

//以前的方式

let obj1 = {name:‘jack‘,age:15};

function fun(name,age){

console.log(name +age);

}

fun(obj1.name,obj1.age);

//利用变量的结构赋值

function fun1({name,age}){

console.log(name +age);

}

fun1(obj1);

原文地址:https://www.cnblogs.com/maycpou/p/12330530.html

时间: 2024-10-09 02:55:28

ES6-变量的结构赋值的相关文章

JS ES6的变量的结构赋值

变量的结构赋值用户很多 1.交换变量的值 let x = 1; let y = 2; [x,y] = [y,x] 上面的代码交换变量x和变量y的值,这样的写法不仅简洁,易读,语义非常清晰 2.从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能讲他们放在数组或者对象里返回.了解解构赋值,取值这些值非常方便 //返回一个数组 function example(){ return [1,2,3]; } let [a,b,c] = example();[a,b,c]; //[1,2,3] //

变量的结构赋值

ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解耦: 1 数组的解耦赋值 以前,为变量赋值,只能直接指定值. let a = 1; let b = 2; let c = 3; ES6允许写成下面这样. let [a, b, c] = [1, 2, 3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值. 这种写法属于'模式匹配',只要等号两边的模式相同,左边的变量就会被赋予对应的值. let [foo, [[bar], baz]] = [1, [[2], 3]

es6变量解构赋值的用途

这里是我觉得es6解构赋值,在平时我们写js的时候非常有用,而且经常用到的地方,能简化我们的代码,让写代码简介优雅易读; 用途 1.交换变量的值,太方便了这逼,写法不仅简介而且一看就明白 let [x,y]=[1,2]; [x,y]=[y,x]; console.log(x);//输出2 console.log(y);//输出1 2.从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能将它们放在数组或者对象里面返回.有了解构赋值,取出这些值那是非常的方便,最关键是易读 function

ES6变量的解构赋值

// -------------------------------------------------------------------/** * 基本概念: * 本质上就是一种匹配模式,只要等号两边的模式相同,那么左边的变量就可以 * 被赋予对应的值. * 结构赋值主要分为: * 1 数组的解构赋值 * 2 对象的结构赋值 * 3 基本类型的解构赋值 */// let a = 1;// let b = 2;// let c = 3; // let [a, b, c] = [1, 2, 3]

ES6变量的解构赋值(二)对象的解构赋值

前面我们知道,数组的结构赋值需要按顺序进行赋值, let [a,,c] = [1,2,3] console.log(a);//1 console.log(c);//3 let [a,b] = [1];console.log(a);//1console.log(b);//undefined 而对象的解构赋值则是通过对象属性进行赋值,不需要按照顺序进行,而无法匹配的则为undefined let {a,b,c}={b:1,a:2}; console.log(a);//2 console.log(b)

ES6 变量与解构(二)

一.变量的声明与使用 [测试示例需要在node环境中测试,浏览器环境下并不完全兼容ES6代码]ES6中可以使用 {} 来包含任意一段代码,被 {} 包裹的内容称为一个代码块(局部作用域) let关键字 [声明变量]特性:1.块级作用域    [局部作用于声明的代码块中]2.变量声明不会提升    [变量未声明前无法使用该变量]3.暂时性死区    [该变量声明前面的区域]4.不能重复声明    [同一代码块中不能重复声明同一变量] const关键字    [声明常量(一般用大写字母表示常量)]特

es6(es2015)解构赋值

?es6新增结构赋值,结构赋值分为两种 数组解构赋值,对象解构赋值. 数组解构赋值: 分别按顺序给数组中的每一项赋值.  如上所示如果c未给赋值,c为undefind. a==1,b==2 那么3并没有被保存到变量中,这时如果想要将剩余值进行保存,可以只用“...” ...c 这样的形式,可以将剩余值以数组的形式将其保存到变量c中. 另外...可用于复制数组 实际项目中有时候我们需要将函数中的实际参数放到一个数组中, es5:Array.prototype.slice.call(argument

day46homework常量字符串拼接结构赋值扩展运算符for-of循环map函数默认值

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>01定义常量.html</title> <!--常量--> <script> //常量:1.一旦定义 不能更改 const PI = 3.14;  // console.log(PI); // PI = 3.1415; error 

c语言:通过指向结构体变量的指针变量输出结构体变量中成员的信息

通过指向结构体变量的指针变量输出结构体变量中成员的信息. 解:程序: #include<stdio.h> #include<string.h> int main() { struct Student { long int num; char name[20]; char sex[10]; float score; }; struct Student stu_1;//定义struct Student类型的变量stu_1 struct Student *p; p = &stu_