• ES6中新增特性


    总结ES6中新增的特性。
    1.块级作用域 let和const
    2.数组扩展
    • Array.from() 将伪数组对象或者可遍历的对象转化为数组。
    • Array.of(v1,v2,v3) 将一系列值转换数组。
    • Find() 用于找出第一个符合条件的数组成员,参数为回调函数,所有数组成员依次执行该回调,找到返回成员找不到返回undefined。
    • Findindex() 与find类似,用于返回第一个符合条件的数组成员位置。如果都不符合返回 -1.
    • Includes() 返回一个bool值,表示数组中是否包含给定的值。方法第二个参数表示搜索的位置。没有该方法之前是根据indexof()方法判断的,他的含义就是找到参数的第一次出现的位置,然后和-1比较,表达不都直观。indexof内部使用较为严格的相等运算符,导致NAN误判。
    • Keys(),Values(),entries()方法,他们都是返回一个遍历器对象,可以用for…of循环进行遍历,唯一的区别就是keys() 是对键名进行遍历,values()是对键值进行遍历,enties()是对键值对的遍历。

    3.箭头函数:实质匿名函数
    它有两个作用1.缩减代码,和改变this指向
    注意点
    • 多个参数记得加括号 const double6=(number1,number2)=>number1+number2;
    • 如果代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return 语句返回。Const double=(num1,num2)=>{ let sum=num1+num2;return sum;} 由于大括号被解释为代码块,所以箭头函数直接返回一个对像,必须在对象外面加括号,否则报错。比如 let tt=id=>({id:id,name:'temp'})
    • 简化回调函数 [1,23.3].map(x=>x*x);
    • 改变this指向。
    • 函数体内的this对象就是定义是所在的对象,而不是使用时所在的对象。
    4.rest参数
    引入rest参数(形式为"…变量名"),用于获取函数的多余参数,这样就不需要使用arguments对象了。rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中。
    5.扩展运算符
    与剩余参数关联最密切的就是扩展运算符。剩余参数允许把多个独立的参数合并到一个数组中,而扩展运算符则允许将一个数组进行分割,并将各个项作为分离的参数传递给函数。用在字符串或者数组前面的”…“称为扩展运算符,可以将扩展运算符称理解为rest參数的逆运算,它用于将数组或者字符串进行拆解。有些时候,函数不允许传入数组,此时使用扩展运算符很方便比如Math.max()方法,它接受任意数量的参数,并返回最大值。
    Let value=[12,344,56,4,6]
    Console.log(Math.max(…value)); //344
    6.解构赋值。
    就是将数据结构分解为更小部分的过程。解构赋值是一种更方便的数据访问方式。
    注意:当使用结构来配合var let const声明变量时,必须提供初始 话程序(即等号右边的值)

    7.模板字符串
    模板字符串是增强版的字符串,用反引号 ` `标识,它可以当作普通字符串,也开始当作定义多行字符串,或者在字符串中引入变量。模板字符串引入变量或者函数,需要将变量写在${}中。
    8.class和传统的构造函数。
    9.promise的基本使用和原理。
    在js的世界中,所有代码都是单线程执行的.由于这个缺陷,导致js的所有网络操作和浏览器事件都必须是异步执行的。pormise是异步编程的一种解决方案,比传统的解决方案回调和事件更合理了,更强大。
    10.Iterator和for…of循环
    js原有表示的集合的数据结构主要是数组Array和object,es6又添加了Map和Set.这样就需要一种统一的接口机制来处理不同的数据结构。遍历器Letrator就是这种机制。他是一种接口,为各种不同的数据结构提供统一的访问机制。
    遍历方式比较
    • For…of 循环不仅支持数组和大多数位数组对象,也支持字符串遍历,此外还支持遍历set和Map对象。
    • For…in 循环可以遍历字符串,对象和数组,但是不支持遍历set 和Map对象。
    • Foreach 循环不能遍历字符串和对象,支持遍历set和map对象。

    11.ES6模块化
    即export和import.export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。

  • 相关阅读:
    当程序员的那些狗日日子
    程序员常犯的几个错误
    我没有帮你的义务,却有拒绝你的权力
    并发 并行 同步 异步 多线程的区别
    cookie的存取
    sqlserver 处理百万级以上的数据处理与优化
    为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname
    详细解析 nginx uri 如何匹配 location 规则
    mysql innodb 从 ibd 文件恢复表数据
    mysql 从 frm 文件恢复 table 表结构的3种方法
  • 原文地址:https://www.cnblogs.com/JellyM/p/15335359.html
Copyright © 2020-2023  润新知