ECMAScript6 入门 变量的解析赋值

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

这句话的解释:第一步从数组或者对象中提取值,第二步将提取到的值对变量进行赋值

1数组的解析赋值

如果解析不成功,那么对应的变量为undefined,同时如果等号的右侧不是可遍历的数据结构,也会进行报错。

解析允许存在默认值,注意,ES6内部使用严格相等运算符,来判断一个位置是否有值,所以只有当一个数组的成员严格等于undefined时,默认值才会起作用

   

2对象的解析赋值

对象解析与数组解析的不同点在于,数组的按照一定的顺序的,变量的取值取决于他的位置;而对象的属性没用顺序,变量必须与对象的属性名相同,才可以正确的取到值。

与数组相似:

  1对象的解构赋值也是可以嵌套的,

  2另外对象也可以定义默认值,并且属性的值为undefined,默认值才会有效果

  3解析失败那么值为undefined。

注意点:注意是模式还是变量,变量采用的是逗号分开,模式后面紧跟的是冒号

3数值,布尔值,字符串的解构赋值

4解构的作用

  4.1:交换变量的值;从函数返回多个值;给函数多个参数赋值;提取JSON的值

待续...........

原文地址:https://www.cnblogs.com/panrui1994/p/8995014.html

时间: 2024-10-22 09:21:45

ECMAScript6 入门 变量的解析赋值的相关文章

零基础学python-16.3 变量名解析:LEGB原则

这一章节我们来说说变量名解析的原则:LEGB原则 1.当函数使用未认证的变量名时,python搜索4个作用域,本地作用域(L)->上一层结构中def或者lambda的本地作用域(E)->全局作用域(G)>内置作用域(B),并且在第一次找到这个变量名的地方停下来 2.函数给一个变量赋值的时候,总是创建或者改变本地作用域的变量名,除法他是声明为全局 >>> def test(): x=1 print(x) print(id(x)) x=2 print(x) print(id

JavaScript的变量预解析特性

JavaScript是解释型语言是毋庸置疑的,但它是不是仅在运行时自上往下一句一句地解析的呢?事实上或某种现象证明并不是这样的,通过<JavaScript权威指南>及网上相关资料了解到,JavaScript有“预解析”行为.理解这一特性是很重要的,不然在实际开发中你可能会遇到很多无从解析的问题,甚至导致程序bug的存在.为了解析这一现象,也作为自己的一次学习总结,本文逐步引导你来认识JavaScript“预解析”,如果我的见解有误,还望指正.池州市贲生工艺品 我们先来看一个例子: var la

0143 JavaScript预解析:概念、变量预解析、函数预解析、函数表达式声明函数问题

4.1 预解析的相关概念 JavaScript 代码是由浏览器中的 JavaScript 解析器来执行的. JavaScript 解析器在运行 JavaScript 代码的时候分为两步:预解析 和 代码执行. 预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义. [提升到当前作用域的最顶部.] 代码执行: 从上到下执行JS语句. 预解析会把变量和函数的声明在代码执行之前执行完成.[声明提前,赋值留在原地.] 4.

【Go语言】【5】变量初始化及赋值

在真正的编码过程中要使用一个变量,必须先声明然后才能使用,GO语言也不例外 1.声明变量 var postCode int    //声明一个整型变量postCode var phoneNum int    //声明一个整型变量phoneNum var name string     //声明一个字符串变量name var address string  //声明一个字符串变量address 接下来我们在main()方法直接打印一下各个值分别是多少: 从上面可以看到尽管我们只是声明了一个变量,但

jacob使用入门及问题解析

转自:http://blog.csdn.net/hemingwang0902/article/details/4377994 本博客 jacob 列文章导读Java操作Microsoft Word之jacobjacob使用入门及问题解析使用Jacob将Word转为Html或txt使用Jacob将Word转为PDFjava通过jacob调用word (根据Word模板生成动态内容) 首先,大家先要了解一下jacob ,官方的解释是Java COM Bridge,即java和com组件间的桥梁(进一

js对变量的解析

js对自定义变量的解析 一.字符串拼接 const str = "girl!"; console.log("Hi,"+str);//结果: Hi,girl! 二.用${}进行解析 var arr = [10,11,12,13,41,42,45]; for (var i=0;i<arr.length;i++){ console.log(`${arr[i]}`); }//结果: 10 11 12 13 41 42 45 注意这个``不是单引号,而是反引号(``)

EasyUI基础入门之Parser(解析器)

前言 JQuery EasyUI提供的组件包括功能强大的DataGrid,TreeGrid.面板.下拉组合等.用户可以组合使用这些组件,也可以单独使用其中一个.(使用的形式是以插件的方式提供的) EasyUI体系结构 EasyUI所有的插件主要分为六大部分.Base基础.Layout布局.Menu&Button.Form表单.Window窗口等.从最基础的开始先掌握EasyUI基础部分.Base部分包含了八个基础插件分别为: parser(解析器) easyloader(加载器) draggab

PHP 自定义字符串中的变量名解析

PHP 自定义字符串中的变量名解析 这样一个需求:页面的 title 可以在后台自定义,自定义内容中可能包含变量,变量用 {$var} 表示, 其中 $var 为变量名 将 title 字段存入数据库中,再提出来之后,用php自己的变量名解析就不管用了,会直接输出 {$var} ,不会像在定义字符串的时候,用双引号时就会自动把 {$var} 变换成相应的变量内容,这里就像是用单引号定义的字符串,所以需要自己解析. 这里的思路是用正则表达式把字符串中的所有 {$var} 提取出来,然后判断是否存在

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] //