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}
    
  • 相关阅读:
    Annual Summary-2019
    (翻译向)kafka--简介篇1
    mysql 查看数据库大小
    nohup保证程序后台运行
    NLP(四):文本向量化word2vec
    NLP(三):关键词提取
    NLP(二):jieba高频词提取
    NLP(一):jieba分词
    爬虫(一)百度翻译
    【论文笔记】社交网络中的信息扩散分析及其应用研究
  • 原文地址:https://www.cnblogs.com/leee/p/7045032.html
Copyright © 2011-2022 走看看