当前位置: 首页 > news >正文

ES7 ES8 的新特性(部分)

ES7 只有两个新特性

  • includes():在之前,验证数组中是否存在某个元素,只能应indexOf来实现,但是现在我们可以使用ES7的新特性includes()来实现
let arr = ['react', 'angular', 'vue'];

if (arr.includes('react'))

{

console.log('react存在');

}

复制代码
  • 指数操作符:使用自定义的递归函数calculateExponent或者Math.pow()进行指数运算,用了ES7就可以直接用指数运算符了(**)
function calculateExponent(base, exponent){

if (exponent === 1){

return base;

}

else{

return base * calculateExponent(base, exponent - 1);
}}

console.log(calculateExponent(7, 3)); // 输出343

console.log(Math.pow(7, 3)); // 输出343


复制代码
  • 使用ES7:

console.log(7**3);    


执行的就是7的三次方(Math.pow(7,3))

复制代码

ES8的新特性

  • 遍历对象的属性值
let obj = {a: 1, b: 2, c: 3}

Object.keys(obj).forEach((key) =>

{

console.log(obj[key]); // 输出1, 2, 3

});
复制代码
  • 遍历对象的属性名和属性值
let obj = {a: 1, b: 2, c: 3};

Object.entries(obj).forEach(([key, value]) =>

{

console.log(key + ": " + value); // 输出a: 1, b: 2, c: 3

})
复制代码
  • 对象变数组(解析后台返回的数据时候常用)
Object.values({w:2,f:5})
// [2, 5]
复制代码
  • 使用Object.entries():遍历对象的属性名和属性值:
let obj = {a: 1, b: 2, c: 3}; 
Object.entries(obj).forEach(([key, value]) =>{   
 console.log(key + ": " + value); // 输出a: 1, b: 2, c: 3
})

复制代码
  • async await
async fetchData(query) =>{  
  try    {      
  const response = await axios.get(`/q?query=${query}`); 
       const data = response.data;     
   return data;    }    
catch (error)    {      
  console.log(error)   
 }} 
fetchData(query).then(data =>{    this.props.processfetchedData(data)})

复制代码

转载于:https://juejin.im/post/5c22f2fe51882541426802e7

相关文章:

  • Android程序完全退出
  • P2-2017级算法第二次上机 B 女娲加农炮
  • 很好的学习平台
  • 前言-如何学习区块链
  • 移除孤立的或已删除的链接克隆
  • Windows 8.1 Windows Phone 8.1 通用程序
  • HowTos/Virtualization/VirtualBox - CentOS Wiki
  • MySQL 运维笔记(一)—— 终止高负载SQL
  • Kubernetes部署(九):CoreDNS、Dashboard、Ingress部署
  • ES6 Promise
  • 什么是字符串常量池
  • Shell实战训练营Day11
  • java并发处理 (同步与原子性)
  • Java入门项目:学生信息管理系统V2
  • IE6不支持a标签以外元素的hover的解决方案
  • [nginx文档翻译系列] 控制nginx
  • exports和module.exports
  • fetch 从初识到应用
  • Javascript Math对象和Date对象常用方法详解
  • JDK 6和JDK 7中的substring()方法
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • spark本地环境的搭建到运行第一个spark程序
  • SQL 难点解决:记录的引用
  • TCP拥塞控制
  • 从伪并行的 Python 多线程说起
  • 分享一份非常强势的Android面试题
  • 浮现式设计
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 聚类分析——Kmeans
  • 利用DataURL技术在网页上显示图片
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 树莓派 - 使用须知
  • 微信小程序:实现悬浮返回和分享按钮
  • 我的zsh配置, 2019最新方案
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 再次简单明了总结flex布局,一看就懂...
  • 中文输入法与React文本输入框的问题与解决方案
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​渐进式Web应用PWA的未来
  • # 计算机视觉入门
  • #数学建模# 线性规划问题的Matlab求解
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)计算机毕业设计大学生兼职系统
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (转)为C# Windows服务添加安装程序
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .aanva
  • .describe() python_Python-Win32com-Excel
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .net分布式压力测试工具(Beetle.DT)
  • .NET企业级应用架构设计系列之结尾篇
  • .NET企业级应用架构设计系列之应用服务器