ES6字符串模板,剩余参数,默认参数功能与用法示例

  

本文实例讲述了ES6字符串模板,剩余参数,默认参数功能与用法。分享给大家供大家参考,具体如下:

  

这里介绍一下字符串模板以及剩余参数,默认参数的概念以及使用。
  先来说说字符串模板。

  

<强>字符串模板

  

ES6中允许使用反引号”来创建字符串,此种方法创建的字符串里面可以包含由美元符号加花括号包裹的变量${变量}。如果你使用过像c#等后端强类型语言的话,对此功能应该不会陌生。

     //产生一个随机数   var num=math . random ();//将这个数字输出到控制台   控制台。日志(你的num $ {num});      

可以看出来,字符串模板其实就是将JavaScript中常用的字符串拼接变得更加简单了一些。但是其实它还有一些不易让人察觉的作用:

  

1。模板中可以继续套入一个模板;

  

2。如果一个变量不是字符串,通过字符串模板它会变成字符串,就好像调用了.toString()方法一样,

  

但是同样的,有一些事情它也做不了:

  

1。它不能自动转义,所以为了防止歌珥攻击,我们还是要小心处理一些敏感数据;

  

2。它不是用来取代其他js模板的,因为它没有关于循环的相关语法,而这些是其他js模板擅长的。

  

下图是字符串模板的使用示例:

  

 ES6字符串模板,剩余参数,默认参数功能与用法示例

  

可以看到字符串模板中还可以解析函数,并且可以带参数。

  

<强>剩余参数

  

接下来说说剩余参数,很多语言早就实现了剩余参数了。剩余参数说来了就是用来取代参数的。

  

大家应该知道参数吧,作为javascript函数中的默认属性,参数代表了所有的参数。

  

参数功能虽然强大,但是容易让人疏忽从而造成不必要的错误。我们举一个例子,我们先一个简单的验证函数containsAll,其作用是检测第一个参数中是否包含后面几个参数。

  

比如:         containsAll(“香蕉”、“b”、“南”)//会返回真,   containsAll(“香蕉”、“c”、“南”)//会返回错误的。      

实现代码如下:

        函数containsAll(干草堆){   (var i=1;我& lt;arguments.length;我+ +){   var针=参数[我];   如果(haystack.indexOf(针)===1){   返回错误;   }   }   返回true;   }      之前      

可以看到我们用到了参数对象,但是它的下标我们是从1开始的,如果从0开始就会选中干草堆了,所以不能选择0,而这里就最容易出错。

  

那么我们看看用ES6的剩余参数如何来实现这个方法:

        函数containsAll(干草堆,…针){   针的针(var) {   如果(haystack.indexOf(针)===1){   返回错误;   }   }   返回true;   }      之前      

可以看到剩余参数…的特定语法。也就是说,所有第2到第n个参数现在可以直接放到…后面的数组中去了。

  

…的用法可不仅仅局限于函数的参数噢,还可以用来简化:

        var=(2、3、4);   var b=[1,……一个,5];   控制台。日志(b);//[1、2、3、4、5)      之前      

<强>默认参数

  

再来谈谈默认参数,默认参数也早就被很多语言所实现,其实是一个很基本的功能:

        函数animalSentence (animals2="老虎",animals3=靶堋?{   返回的狮子和$ {animals2}和$ {animals3} !噢我的天!”;   }      之前      

不同的参数会返回不同的结果:

        animalSentence()//笔ㄗ雍屠匣⒑托?噢我的天!”;   animalSentence(“大象”)//笆ㄗ雍痛笙蠛托?哦我的天!”   animalSentence(“大象”、“鲸鱼”)//笆ㄗ雍痛笙蠛途ㄓ?噢我的天!”。      之前      

但是javascript的默认参数功能可不只这么简单,它还可以进行简短的表达式:

        函数animalSentenceFancy (animals2="老虎",animals3=(animals2==靶堋?& # 63;“海狮”:“熊”)   {   返回的狮子和$ {animals2}和$ {animals3} !噢我的天!”;   }      之前      

希望本文所述对大家ECMAScript程序设计有所帮助。

ES6字符串模板,剩余参数,默认参数功能与用法示例