ES6新特性学习

摘要:
1.ES6中的字符串模板允许使用anti'创建字符串。此方法创建的字符串可以包含由美元符号$和大括号包装的变量${vrable}。示例:varname=“Xiaoming”;安慰日志(`mynameis${name}`);//Mynameis Xiaoming 2.let和const关键字可以将let视为var,但它定义的变量只能在特定范围内使用,离开此范围无效。let定义的变量不是

1.字符串模板

  在ES6中允许使用反 ` 来创建字符串,这种方法创建的字符串里面可以包含由美元符号$加花括号包裹的变量${vraible}。

例:var name = "小明";
  console.log(`my name is ${name}`);//my name is 小明

2.let与const关键字

  可以把let看成var,只是它定义的变量被限定在了特定范围内才能使用,而离开这个范围则无效。let 定义的变量不会被变量提升。const用来定义常量,即无法被更改值的变量。

变量提升:在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部;不在函数内即在全局作用域的最顶部。这样就会引起一些误解。例如:

console.log(a);  // undefined
var a = 'hello';

# 上面的代码相当于
var a;
console.log(a);
a = 'hello';

# 而 let 就不会被变量提升
console.log(a); // a is not defined
let a = 'hello';

3.for of值遍历

  for in循环用来遍历数组,类数组或对象,ES6中新引入的for of循环功能相似。不同的是每次循环它提供的不是序号而是值。

  (此功能google traceur并未实现,所以无法模拟调试,下面有些功能也是如此)

例:var myArry = ['hello1','hello2','hello3'];
  for(v of myArry){
    console.log(v);//hello1,hello2,hello3;
  }

4.箭头操作符

  在ES6中新增箭头操作符=>,它简化了函数的书写。操作符左边为输入的参数,右边是进行的操作以及返回的值。

我们知道在JS中回调是经常的事,而一般回调又以匿名函数的形式出现,每次都需要写一个function,甚是繁琐。当引入箭头操作符后可以方便地写回调了。

例:var array = [1, 2, 3];
  //传统写法
  arry.forEach(function(v,i,a){
    console.log(v);
  });

  //ES6
  array.forEach(v=>console.log(v));

5.类的支持

  ES6中添加了对类的支持,引入了class关键字。在提供原生的class支持之后。对象的创建,就更加直观了。并且父类方法的调用,实例化,静态方法和构造函数等概念都更加形象化。

6.解构

  自动解析数组或对象中的值,简化数组和对象中信息的提取。比如一个函数要返回多个值,我们通常是返回一个对象,将每个值作为对象的属性返回。

但是在ES6中,利用解构这一特性,可以直接返回一个数组,然后数组的值会自动被解析到对应接收该值的变量中。

例:var [x,y]=getVal(),//函数返回值的解构
      [name,,age]=['wayou','male','secrect'];//数组解构
  function getVal() {   
    return [ 1, 2 ]
  }

    console.log('x:'+x+', y:'+y);//输出:x:1, y:2 
    console.log('name:'+name+', age:'+age);//输出: name:wayou, age:secrect 

7.默认参数值、不定参数、拓展参数

默认参数ES6中定义参数的时候可以指定默认值了,不用像以前那样通过逻辑或操作符来达到目的了

 例:function myName(name){
      //传统制定默认参数的方法
      var name=name||'xiaoming';
      console.log("my Name is' +name);
    }
      //ES6的方式
    function myName2(name=>'xiaoming'){
      console.log('my Name is ${name}');
    }
      
    myName();//输出xiaoming
    myName2();//输出xiaoming;
    myName2('jack');//输出jack

不定参数:不定参数是在函数中使用命名参数同时接收不定数量的未命名参数。这只是一种语法糖,在以前的JavaScript代码中我们可以通过arguments变量来达到这一目的。不定参数的格式是三个句点后跟代表所有不定参数的变量名。...x代表了所有传入add函数的参数。

例://将所有的参数相加的函数
    function add(...x){
      return x.reduce((m,n)=>m+n);
    }
    //传递任意个参数
    console.log(add(1,2,3));//输出:6
    console.log(add(1,2,3,4,5));//输出:15


拓展参数:拓展参数则是另一种形式的语法糖,它允许传递数组或者类数组直接做为函数的参数而不用通过apply。

 例:var people=['Wayou','John','Sherlock'];
    //sayHello函数本来接收三个单独的参数人妖,人二和人三
    function sayHello(people1,people2,people3){
      console.log(`Hello ${people1},${people2},${people3}`);
    }
    //但是我们将一个数组以拓展参数的形式传递,它能很好地映射到每个单独的参数
    sayHello(...people);//输出:Hello Wayou,John,Sherlock 

    //而在以前,如果需要传递数组当参数,我们需要使用函数的apply方法
    sayHello.apply(null,people);//输出:Hello Wayou,John,Sherlock 
 




免责声明:文章转载自《ES6新特性学习》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一起谈.NET技术,.NET中锁6大处理方法 悲观乐观自己掌握 狼人:html 常用代码块下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python(leetcode)-350两个数组的交集

给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [4,9] 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出...

R语言:变量名称和字符串的转换

R语言:变量名称和字符串的转换 2014-06-23 14:45:27         在R语言中,经常会遇到变量名称和字符串相互转换的问题。比如说,进行1000次循环运算,并将运算结果存储在1000个变量中,如x_1, x_2, ... , x_1000。这时候可以使用assign()函数,示例如下:> a错误: 找不到对象'a'> as...

后端向前端页面发送变量的方法,可以包含特殊字符(如英文双引号)

处理此问题,方法有2种,下面的第二种是最先发现的,后来发现第一种更简单,都做一下记录,以备不时之需。 第一种: 对于没有特殊字符的后台string变量,输入前台时,直接在后台定义一个protected或public变量,赋值完成后,在前台直接用var value='<%= xxx %>';获取即可。xxx是后台变量名称。 对于有特殊字符的后台s...

Java10 新特性

一、JDK10 发布   2018年3月21日, Oracle官方宣布Java10正式发布。   需要注意的是 Java 9 和 Java 10 都不是 LTS (Long-Term-Support) 版本。和过去的 Java 大版本升级不同,这两个只有半年左右的开发和维护期。而未来的 Java 11,也就是 18.9 LTS,才是 Java 8 之后第一个...

SPSS基础知识

3.1 数据的输入和保存 1. 打开SPSS后,界面包括变量视图和数据视图。 变量视图,用于对变量进行设置,数据视图为用户输入的数据。 2. SPSS有大量的函数调用功能进行数据分析 常用的数据分析包括比较均值、一般线性模型、广义线性模型、回归分析、相关分析、神经网络、分类和降维(适用于经济学、评价因子值和得分计算等问题)等等。 3.2 SPSS图形绘制...

Android studio常用快捷键

Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似eclipseADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,基于Gradle的构建支持。 最常用快捷键1.Ctrl+E,可以显示最近编辑的文件列表2.Shift+Click可以关闭文件3.Ctrl+[或]可以跳到大括号...