zoukankan      html  css  js  c++  java
  • 参数和函数形参 到 解构和不完全解构

    函数的参数和形参

    声明一个有三个形参的函数 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的话,可以去看下专业书籍。
  • 相关阅读:
    Python 数据处理 正则匹配,清洗脏数据
    Pycharm自用激活码
    编程杂谈 集群与分布式
    win10 向右键添加管理员级CMD
    win10 笔记本键盘永久屏蔽Numlk键
    Golong 环境搭建
    python 各种锁机制归纳整理
    MySQL数据库操作
    Web框架本质
    Django框架
  • 原文地址:https://www.cnblogs.com/1rookie/p/7231536.html
Copyright © 2011-2022 走看看