zoukankan      html  css  js  c++  java
  • 扩展运算符

    函数:停止使用arguments

    这里主要我使用时经常的遗漏点,和相对高级的注意点

    不定参数

    常用...args(参数中使用...扩展运算符)

    const fn=(...args){
    	console.log(`不定参数:...args中的...扩展运算符,目的为了代替在函数中使用argiments类数组对象`)
    	for(let arg of args){
    		console.log(`参数:${arg}`)
    	}
    }
    const arg=()=>{console.log('fn1函数')}
    fn(arg,1,2)
    //不定参数:...args中的...扩展运算符,目的为了代替在函数中使用argiments类数组对象
    //参数:()=>{console.log('fn1函数')}
    //参数:1
    //参数:2
    

    默认参数

    默认参数,注意:还支持从左到右的运算

    function fn(arg1='人',arg2=(arg1=='人')?'有脑子':'没脑子'){
    	console.log(`${arg1},${arg2}`)
    }
    
    fn()                          //人,有脑子
    fn('猪猪')                 //猪猪,没脑子
    fn('猪猪','非要说有脑子')     //猪猪,非要说有脑子
    

    数组字面量

    var arr1=['a','b','c'];
    var arr2=[...arr1,'d','e']; //['a','b','c','d','e']
    //push函数中
    var arr1=['a','b','c'];
    var arr2=['d','e'];
    arr1.push(...arr2); //['a','b','c','d','e']
    

    解构赋值

    let [arg1,arg2,...arg3] = [1, 2, 3, 4];
    arg1 //1
    arg2 //2
    arg3 //['3','4']
    //解构赋值中展开运算符只能用在最后:
    let [arg1,...arg2,arg3] = [1, 2, 3, 4]; //报错
    

    类数组对象变成数组

    var list=document.getElementsByTagName('div');
    var arr=[...list];
    

    ES7草案中的对象展开运算符

    let {x,y,...z}={x:1,y:2,a:3,b:4};
    x; //1
    y; //2
    z; //{a:3,b:4}
    

    对象像数组插入使用插入功能

    var t={t:2}
    var o={a:1,...t}//{a: 1, t: 2}
    

    合并多个对象

    let o1={a:1}
    let o2={b:1}
    let o3={c:1}
    let o ={...o1,...o2,...o3}//{a: 1, b: 1, c: 1}
    
  • 相关阅读:
    hadoop配置文件说明
    hadoop集群部署
    Linux iptables防火墙实用模板
    不容忽视的SQL注入式攻击
    字符串的加解密
    .NET程序集版本号的奥秘
    SQL Server 2005 数据库引擎的容量规范
    Microsoft Visual Studio Tools for the Microsoft Office system(3.0 版)
    How to: Display a Dialog Box for Selecting Entries from the Contacts Folder
    OpenID及其原理介绍
  • 原文地址:https://www.cnblogs.com/leee/p/7045032.html
Copyright © 2011-2022 走看看