参数和函数形参 到 解构和不完全解构


函数的参数和形参

声明一个有三个形参的函数 where

function where(a,b,c){ ... }

而我们调用的时候执行

where(1,2,3,4,5){....}

此时参数 1、2、3会分别赋值给 a、b、c,参数4、5则不会赋值给任何形参。但是我们已让可以通过 隐式参数 arguments 去得到他们。

再来看下ES6中的解构。

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

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

a // 1

b // 2

c // 3

上面例子表示,可以从数组中提取值,按照对应位置,对变量赋值。

本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。下面是一些使用嵌套数组进行解构的例子。

let [foo, [[bar], baz]] = [1, [[2], 3]];
foo // 1
bar // 2
baz // 3
let [ , , third] = ["foo", "bar", "baz"];
third // "baz"
let [x, , y] = [1, 2, 3];
x // 1
y // 3
let [head, ...tail] = [1, 2, 3, 4];
head // 1
tail // [2, 3, 4]
let [x, y, ...z] = ['a'];
x // "a"
y // undefined
z // []

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

我只是觉得解构这点与函数的实参形参这块,有一些相似,就简单记录下,当然各位想去更深入的了解ES6的话,可以去看下专业书籍。

优质内容筛选与推荐>>
1、JDK1.8源码分析之HashMap
2、PHP Cookbook读书笔记 – 第17章图形
3、Redis
4、Docker 网络配置--Docker 容器互联
5、根据手机号获取地域信息-需要jsoup.jar包


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn