解构赋值笔记

news/2024/7/3 1:10:34

数组的解构赋值

let arr = [1,2,3,4,5]

let [item1,item2] = arr

console.log(item1,item2) // 1,2 数据2之后的345被垃圾回收机制回收

let [item1, item2,...list] = arr

console.log(list) // 3,4,5 利用... 把其他的数据赋值到list上 ""..."" 用于取出参数对象中所有可遍历属性,拷贝到当前对象中

let [item1,,item3] = arr

console.log(item3) //3 想要跳过的值 可以用逗号跳过

//set([1,2,3,4,5]) 相同用法 map也是

objcet 的结构赋值

let arr = {
    w:100,
    h:200,
    list:{
       name:"王"
    },
    listArr:[1,2,3]
}

let {w,h,list:{name}} = arr

//  object 解构赋值的时候  变量名需要对应数据源中的   Object中数组中的数值可以任何命名

练习

1. 一个函数需要传入很多参数,是否可以利用解构赋值来简化操作?

let a={name:'小明',age:18}
    function wuKongYouLook({name='shyno',age=17}={}){
      console.log(name,age)
      }
      wuKongYouLook(a)//小明,18                       let {name='shyno',age=17} = {name:'小明',age:18}
      wuKongYouLook({name:'小红'}) //小红,17          let {name='shyno',age=17} = {name:'小红'}
      wuKongYouLook({})    //shyno,17                 let {name='shyno',age=17} = {}
      wuKongYouLook() //shyno,17                     let {name='shyno',age=17} = null或者undefined

可用解构赋值的方法来做 ,可以设置默认值 


http://www.niftyadmin.cn/n/3655759.html

相关文章

Office 2007 中文版快速一览

Office2007中文版同样是从MSDN下载的,使用起来和office2003以前版本有很大不同,绝对有震撼效果(相比Windows Vista 之于 Windows XP还要强),UI设计的效果和理念,绝对在业界又掀起一股仿制狂潮!这…

Callback 异步操作

1. 什么是回调地狱? 在业务逻辑中为了实现业务功能,经常需要函数层层嵌套的回调函数,如果嵌套过多,极大影响代码可读性和逻辑,这样的场景叫做回调地狱 var sayhello function (name, callback) {setTimeout(function () {console.log(name);callback();}, 1000); } sayhell…

Windows Vista 中文版的兼容性

想把工作平台逐渐有Windows XP 转移 到windows Vista 上来,所以在该平台上开始安装一些Windows XP平台上的程序,目前的情况如下:1、紫光拼音3.0 - 安装成功 2、瑞星杀毒2007 - 安装成功 3、瑞星防火墙2007 …

Windows Vista 中文版快速一览

Windows Vista 中文版发布了, 实在等不及微软的MSDN光盘了,只好在网上下载了2.4G左右的Vista中文版安装光盘,我的机器显卡都有些落后,特效是无法运行了,不过整体感觉还是满好的,比Windows XP要好一个档次。…

DLL(MFC)通过Window消息向C#程序传递数据

这是我在用C#开发IOServer遇到的一个问题,该程序需要用到原先用MFC开发的DLL,最大问题是该dll运行过程中的一些信息,通过window消息向指定的hwnd(窗体句柄)发送数据。数据的指针放在WParam参数里&#xff0…

Promise catch() all() Race()

catch() .catch()方法是.then(null, rejection)或.then(undefined, rejection)的别名,用于指定发生错误时的回调函数。 Promise 对象状态变为resolved,则会调用then()方法指定的回调函数;如果异步操作抛出错误,状态就会变为reje…

同样指令bmp.LockBits不同平台(Windows/WinCE)获取位图的数据不同

最近做了一个获取位图(24位位图)数据的程序,代码如下:Bitmap bmp newBitmap(BmpFile); //获取位图的数据 System.Drawing.Imaging.BitmapData bmpData bmp.LockBits(newRectangle(0, 0, bmp.Width, bmp.Height), System.Drawing.…

用拖拉实现设备驱动配置(EsayHMI最新驱动配置方式)

以前的IOServer 是用VB6开发,驱动的配置方式和一般的组态软件没有什么很大的区别,配置起来比较麻烦,对一般的生手来说,要费一番功夫才能配置完毕。总觉得原有的程序和目前的HMI图元配置环境格格不入,所以重新编写了驱动…