ES6新特性

let声明与新特性1. 不能被重复定义2.块级作用域3. 不存在变量提升4. 不影响作用域链
const声明与新特性1. 定义一定要赋初值2. const是常量,一般用大写字母, 也不可被重复定义3.常量值不可被修改4. 块级作用域5. 对于数组或者对象,可以修改其元素,不算是对常量值的改变
解构赋值1. 数组的解构2. 对象的解构
模板字符串1.  声明字符串2. 模板字符串内可以出现换行3. 变量的拼接  通过 ${}在模板字符串内进行拼接
对象的简化写法
箭头函数1.  this是静态的  this始终指向函数声明时所在的作用域下的this2. 不能用作构造实例化对象3. 不能使用arguments变量4. 可以省略小括号或者函数体
箭头函数中的this1. 箭头函数中的this指向的是外层函数的作用域2. 箭头函数适合于 与 this 无关的回调, 例如定时器,数组方法的回调3.箭头函数不适合于与this有关的回调,事件回调,对象方法的回调
rest参数  (...args)1. 必须放在所有参数的后面2. 传进来的数据为数组
Symbol 基本使用1. 表示独一无二的值2. 第七种数据类型,类似于字符串3. 特点1. 值唯一性, 用来解决命名冲突问题2. Symbol的值不能与其他数据进行运算3. Symbol 定义的对象属性不能使用for in 遍历循环, 但是可以使用Reflect.ownKeys来获取对象的所有键名4.创建 let s = Symbol()创建 带描述的   let s1  = Symbol('琦琦')   let s2  = Symbol('琦琦'), 此时s1与s2不相等创建 带描述的   let s1  = Symbol.for('琦琦')   let s2  = Symbol.for('琦琦'), 此时s1与s2相等
迭代器1.迭代器是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历2.ES6的遍历命令for  ...   of  遍历值for  ...  in   遍历键3.原生具备iterator接口的数据(可使用 for   of)a)  ARRayb)  Argumentsc)  Setd)  Mape)  Stringf)  TypedArrayg)  NodeList4.  工作原理a) 创建一个指针对象,指向当前数据结构的起始位置b) 第一次调用对象的next方法, 指针自动指向数据结构的第一个成员c)  接下来不停的调用next方法,指针一直后移,直到指向最后一个成员d)  每次调用next方法返回一个包含value和done属性的对象  value为值,done为是否继续向下运行5.迭代对象的建立a)  创建 [Symbol.iterator](){}b)  return 一个对象{}其中包含next方法c) next方法中写返回的逻辑,return一个有value与done的对象
生成器1. 生成器函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同  : function * add(){}2. 使用方法,创建对象,调用nextlet iterator = add()        iterator.next()3. 生成器传值假如  function * add(n)传入的值使用,需要在使用next()后输出对应yeild以前的输出yield接收值,是next(7)传入的值,第二个next传入的值,第一个yield接收
Promise1. 介绍Promise是ES6引入的异步编程的新解决方案。语法上Promise是一个构造函数,用来封装异步操作并可以获取其成功或者失败的结果2. 格式通调用resolve与reject判断状态resolve为成功,可以调用p.then()的第一个函数reject为失败, 可以调用P.then()的第二个函数3.可以链式调用then方法的返回可以是一个新的Promise对象,此对象可以继续被then或者catch
Set1. set的基础操作1. 元素的个属 set.size2. 添加元素   set.add('新元素')3. 删除元素   set.delete('存在的元素')4. 检测元素是否存在  set.has('元素')5. 清除所有的元素  set.clear()2.数组的便利操作1. 数组去重2.交集3.并集4.差集
Map1. Map的基本操作1. 添加元素  map.set('键',也可以是对象,‘值,可以是方法字符串数值’)2. 获取元素 map.get('键‘)3. 删除元素 map.delete('键名')4. 清空元素 map.clear()
class构造方法的格式constructor(形参){...}构造方法的继承设置子级构造函数的原型  子类.prototype = new 父类类的继承在继承方法里使用superget  与 setget  当使用某个属性的时候,get方法会执行,并且返回一个数值set属性在为某个属性赋值的时候,会调用对应的set,set修饰的方法必须有一个形参,用来接收修改的值
数值的扩展1. Number.EPSILONNumber.EPSILON是接近于 2.220446049250313e-16的一个数,常用于精度的判断2. Number.isFinite(100)检测一个数是否为有限数3.  Number.isNaN(555)检测一个数是否为nan4.  Number.parseInt('7777777贾真琦')字符转整形5. Number.isInteger(5.5)判读一个数是否为整形6.  Math.sign(55)判断一个数是否为正数(返回1) 负数(返回-1) 还是 0 (返回0)
对象的扩展1. Object.is(a,b)a与b是否相等,  主要可用于判断NaN与NaN是否相同2. Object.assign(dx1,dx2)合并两个对象,后面的覆盖前面的对象3. Object.setPrototypeOf(dx, sz)设置 dx的原型为 sz4.Object.getPrototypeOf(sz)获取sz的原型
模块化优势1. 防止命名冲突2. 代码复用3. 高维护度模块的使用export  (暴露)逐个暴露,每个需要暴露的属性前面加export统一暴露, export {属性名,方法名}默认暴露, export default{bianliang:'值',fangfa:function(){}}import (导入)通用导入, import * as 别名 from '路径'解构赋值的形式, import  {暴露的变量} from '路径'。这种形式的变量名字和暴露的文件里一样,并且数量一致,变量直接引用就可以简单形式(只适用于默认暴露) import 别名 from '路径'

ES6的新特性,前端必看知识点相关推荐

  1. CSGO/steam游戏搬砖项目入行前必看知识点汇总(一)

    CSGO/steam游戏搬砖项目入行前必看知识点汇总(一) CSGO武器皮肤的入门级知识点,入行前一定要看 CSGO武器皮肤有什么用以及如何分类?有多少人已经彻底搞清楚了这个问题?今天这篇文章是专为新 ...

  2. 【面试相关】数据分析面试前必看知识点QA①

    趁着周末,决定花些时间来整理一下,属于我的数据分析学习地图. 第二篇:数据分析面试前必看知识点Q&A② 第一部分 知识框架 第二部分 面试准备 1.一开始先自我介绍,针对简历开始深入地问,目前 ...

  3. ES6常用新特性---笔记一

    ES6的新特性 1.定义函数不一定需要function 2.创建类,constructor 3.模块,JavaScript支持了原生的module,将不同的代码分别写在不同的文件,最后只需export ...

  4. ES6一些新特性记录

    ES6一些新特性记录 1.箭头操作符 箭头操作符左边是需要输入的参数,右边是返回值 比如运用到js回调函数中可以使书写更加方便 var array=[1,3,5]; //标准写法 array.fore ...

  5. ES6 的新特性总结

    ES6 的新特性总结 关于声明变量 由 var 变成 let 和 const 区别: var声明的变量会挂载到window上,let和const声明的变量不会 var声明的变量存在变量提升,而let和 ...

  6. 计算机一级windows系统操作知识点,计算机一级考试:高分必看知识点之windows操作...

    计算机一级考试:高分必看知识点之windows操作 1.设置任务栏的属性 执行"开始/设置/任务栏属性",在属性窗口设置相应的参数 2.设置"数字"." ...

  7. H5十大新特性(前端面试新手必背)

    前端HTML5十大新特性总结: <!DOCTYPE html> 这是什么玩意儿?为什么要写上去?不写上去会怎么样?很少人去注意到,反正就照写就可以了. HTML5不是SGML的子集,从最开 ...

  8. 前端必看的8个HTML+CSS技巧

    点赞是动力 ??,关注是支持 ??! 建议.疑问.话题欢迎在评论区留言哦! CSS是一个很独特的语言.看起来非常简单,但是某种特殊效果看似简单,实现起来就颇有难度.这篇文章主要是给在学习前端的童鞋分享 ...

  9. ES6~ES12新特性

    ES6新特性 let属性 <div class="item">记得刷卡</div> <script type="text/javascrip ...

  10. 推荐2022前端必看的新书 《Vue.js设计与实现》

    大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

最新文章

  1. php agi api,PHP agi 编写测试
  2. 理解卷积神经网络中的输入与输出形状 | 视觉入门
  3. Java虚拟机(JVM)以及跨平台原理
  4. 公式中表达单个双引号【】和空值【】的方法及说明
  5. Java虚拟机(三)——类文件结构
  6. java(17) - 增强for循环、装箱拆箱、可变参数
  7. Harmony OS — RoundProgressBar圆形进度条
  8. 【C++】运行MSDEV.EXE错误0xc0000142
  9. 鹰信车载桌面,通过车机可以拨号,统一管理车载电话应用
  10. java 滚动字幕_Java程序 实现图形面板上的字幕滚动效果
  11. 三、C语言的数据类型—浮点型数据
  12. 计算机编程语言发展简史
  13. BigGAN代码解读(gpt3.5帮助)——生成器部分
  14. [Codeforces 115B] Lawnmower
  15. ubuntu先anaconda中python3与ros共存时opencv报错
  16. Adnroid 自定义流式布局
  17. 在 SQL Server 中使用日历表
  18. 【博客635】tcpdump原理与网卡混杂模式
  19. 使用JSP实现简单的登录注册功能,并且使用Session跟踪用户登录信息
  20. Android平台Fastboot介绍

热门文章

  1. 【无标题】CentOS7 安装 向日葵 远程工具
  2. EditText属性简单描述
  3. 地表最强报表工具,一张模板秒杀数百Excel !
  4. 外媒再掀热议!快看《2019Q3区块链矿业研究报告》外媒怎么说 | TokenInsight
  5. 南方cass提取坐标生成表格_南方cass方格网角点坐标及高程的识别与导出
  6. ps教程|photoshop入门教程|ps高阶段精通教程附百度云资源
  7. JavaScript判断数组中是否包含某个值?
  8. HYSPLIT模型后向轨迹制作
  9. Python pytz时区转换
  10. linux mmap 作用,LINUX 中的mmap浅析