ECMAScript6.0(ES6)笔记整理

技术人沟通中的几个常见问题 通过几个情景描述,来聊一聊技术人沟通中的几个常见问题。 一、情景一 在你设计的一个技术方案中,领导不同意其中的一些设计,觉得设计很繁琐,实现起来不容易,耗费时间。你不同意领导的这些说法,虽然设计很繁琐,但是考虑的一些问题很全,所以设计会有一点繁琐。 这时候你该怎么办? 这里表现出了一个技术人对技术设计追求完美的一个体现。这种追求当然是值得提倡的。 但有时候往往受制于一些现实因素-时间,业务发展,资源等,这些都是领导需要考虑的,领导不仅要考虑技术方面,还要考虑其他因素。所以设计的时候,要适度设计,不要过度, 阅读详情

ECMAScript6(简称ES6)是 JavaScript 语言的下一代标准。在2015年6月正式发布,所以又称ES2015。由于目前并不是所有浏览器都能兼容 ES6 全部特性,但是 ES6 在实际项目中的广泛使用已成为一种趋势。所以作为一个前端开发者,ES6 的语法是我们必须掌握的。

Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。Babel官网 (http://babeljs.io/) 。

一、变量的声明方式

1、var 重复声明、函数级、
2、let 不能重复声明、块级、变量
3、const         不能重复声明、块级、常量
二、函数的参数
1、...
a.收集
b.扩展
2、默认参数
三、函数——箭头函数
1、方便
a.如果只有一个参数,( )可以省
b.如果只有一个return,{ }可以省
2、修正this
this相对正常点
四、解构赋值
let [a,b,b]=[12,5,8]
1、左右两边结构必须一样
2、右边必须是个合法的东西
3、声明和赋值不能分开(必须在一句话里完成)
五、数组
1、map 映射
2、reduce 汇总 一堆->一个
3、filter         过滤器 一堆->剩下的
4、forEach      循环(迭代)
六、字符串
1、多了两个新方法
startsWith
endsWith
2、字符串模板
字符串连接
i.直接把东西塞到字符串里 ${东西}
ii.可以折行
七、ES6的面向对象——基础
1、class关键字、构造器和类分开了
class Test( ){
constructor( ){
this.xxx=
}
方法1( ){

}
方法2( ){

}
}
2、继承
class Cls2 extends Cls1{
constructor( ){
super( );
}
}
八、JSON
1、JSON对象
JSON.stringify         把对象或者数组转换成json
JSON.parse 把json转换成对象
2、简写
key和value一样时,留一个
方法(:functon一块删)
九、Promise——承诺
封装异步操作
1、Promise.all 封装异步操作 *用同步一样的方式来书写异步代码
Promise.all([
$.ajax({url:xxx,dataType:'json'}),
$.ajax({url:xxx,dataType:'json'}),
$.ajax({url:xxx,dataType:'json'}),
]).then(result=>{
//成功
},err=>{
alert('错了')
})
2、Promise.race 竞速
十、genetator-生成器
1、genetator函数——中间能停 * 搭配 yield 用next()调用,不能写成箭头函数
function *函数( ){
代码...
yeild ajax(xxx);
代码...
}
2、yield——传参 第一个 next(参数)传参失败
3、yield——返回 return
function *炒菜(菜市场买回来的){
洗菜->洗好的菜
let 干净的菜=yield 洗好的菜;
干净的菜->切->丝
let 切好的菜=yield 丝;
切好的菜->炒->熟的菜
return 熟的菜
}
十一、异步操作:
1.回调
2.Promise

3.generator

//回调
$.ajax({
  url: xxx,
  dataType: 'json'
  success(data1){
$.ajax({
  url: xxx,
  dataType: 'json'
  success(data2){
$.ajax({
  url: xxx,
  dataType: 'json'
  success(data3){
//完事儿
  },
  error(){
alert('错了');
  }
});
  },
  error(){
alert('错了');
  }
});
  },
  error(){
alert('错了');
  }
});

//Promise
Promise.all([
  $.ajax({url: xxx, dataType: 'json'}),
  $.ajax({url: xxx, dataType: 'json'}),
  $.ajax({url: xxx, dataType: 'json'})
]).then(results=>{
  //完事儿
}, err=>{
  alert('错了');

});

//generator
runner(function *(){
  let data1=yield $.ajax({url: xxx, dataType: 'json'});
  let data2=yield $.ajax({url: xxx, dataType: 'json'});
  let data3=yield $.ajax({url: xxx, dataType: 'json'});
  //完事儿
});

//带逻辑-普通回调
$.ajax({url: 'getUserData', dataType: 'json', success(userData){
  if(userData.type=='VIP'){
$.ajax({url: 'getVIPItems', dataType: 'json', success(items){
  //生成列表、显示...
}, error(err){
  alert('错了');
}});
  }else{
$.ajax({url: 'getItems', dataType: 'json', success(items){
  //生成列表、显示...
}, error(err){
  alert('错了');
}});
  }
}, error(err){
  alert('错了');
}});

//带逻辑-Promise
Promise.all([
  $.ajax({url: 'getUserData', dataType: 'json'})
]).then(results=>{
  let userData=results[0];
  if(userData.type=='VIP'){
Promise.all([
  $.ajax({url: 'getVIPItems', dataType: 'json'})
]).then(results=>{
  let items=results[0];
  //生成列表、显示...
}, err=>{
  alert('错了');
});
  }else{
Promise.all([
  $.ajax({url: 'getItems', dataType: 'json'})
]).then(results=>{
  let items=results[0];
  //生成列表、显示...
}, err=>{
  alert('错了');
});
  }
}, err=>{
  alert('失败');
});

//带逻辑-generator
runner(function *(){
  let userData=yield $.ajax({url: 'getUserData', dataType: 'json'});
  if(userData.type=='VIP'){
let items=yield $.ajax({url: 'getVIPItems', dataType: 'json'});
  }else{
let items=yield $.ajax({url: 'getItems', dataType: 'json'});
  }
  //生成、...

});

Promise——一次读一堆
generator——逻辑性
肖恩技术周刊(第 11 期):猴哥,我好急啊! 本期聚焦了多个技术热点,包括谷歌前CEO对公司远程工作政策的批评、渐冻症患者通过脑机接口和AI恢复语言能力的案例、GitHub全球宕机事件对开发者的影响。同时,周刊深入探讨了JVM崩溃的分析方法、服务架构性能优化策略,并分享了李沐在BosonAI创业一年的经历和对智能体未来的展望。此外,还预测了今天出生的孩子将如何与技术互动,以及科技如何影响他们的未来生活。最后,周刊还涵盖了全球变暖对新加坡等热带国家的影响,以及AIGC领域的最新动态和研究进展。 阅读详情

相关推荐

es6超全学习笔记-思维导图

flyf123的博客 373

ES6之思维导图

let const destructuring 字符串的扩展 数值的扩展 对象的扩展 Promise const promise = new Promise ((resolve, rereject) => { if (/* 异步操作成功 */){ return resolve(value); } else { return reject(error); ...

极客神殿 1536

ES6常用技术点思维导图

根据线上资源整理,包含技术点介绍 如:变量的解构赋值--遍历Map结构 【任何部署了 Iterator 接口的对象,都可以用for...of循环遍历。Map 结构原生支持 Iterator 接口,配合变量的解构赋值,获取键名和键值就非常方便 const map = new Map(); map.set('first', 'hello'); map.set('second', 'world'); for (let [key, value] of map) { console.log(key + " is " + value); } // first is hello // second is world 】

ES6知识总结 — 上篇(思维导图版)

一、块作用域 二、解构赋值 规则: 只要等号右边的值不是对象或数组,就先将其转为对象。 由于undefined和null无法转为对象,所以对它们进行解构赋值,都会报错。 2.1 数组的解构赋值 2.2 对象的解构赋值 2.3 函数参数的解构赋值 2.4 字符串的解构赋值 字符串被转换成一个类似字符数组的对象 还可以对字符串的length属性解构赋值 2.5 圆括号问题 注意:扩展运算符的解构赋值,不能复制继承自原型对象的属性。 三、扩展运算符 四、Object 4.1 对象属性的简写

Conradine_Lian的博客 959

ES6新特性思维导图

查看我整理的ES新特性思维导图,参照思维导图可以宏观角度来学习ES6的新特性。配合Day05-Day07进行学习效果更佳

别只聊天了!手把手教你为Ollama+Open WebUI搭建本地知识库(基于BGE-M3和Qwen)

本文详细介绍了如何利用Ollama、Open WebUI和BGE-M3构建本地知识库,实现智能问答和文档检索。通过环境准备、文档处理、向量化实战和应用案例,帮助用户突破基础聊天场景,打造高效的个人知识管理体系。特别适合技术文档管理和学术研究场景。

weixin_42523720的博客 478

猿创征文| ES6学习笔记1-总体思维导图

ES6 思维导图

韬智信息 620

自动驾驶开发者必看:如何用Impromptu VLA数据集提升模型在乡村道路的表现(附实战代码)

本文为自动驾驶开发者提供了利用Impromptu VLA开源数据集提升模型在乡村道路等极端场景表现的实战指南。该数据集专门针对边界模糊道路、非常规障碍物等非结构化环境,通过精选的8万多个极端场景片段,帮助模型弥补数据分布偏差。文章详细介绍了环境搭建、数据准备、模型微调及性能评估的全流程,并附有实战代码,旨在系统性提升自动驾驶系统在长尾场景下的鲁棒性。

t8u9v0w1x的博客 243

ECMAScript标准

为了统一这些不同的实现,并确保脚本语言的跨平台性,Ecma国际组织于1997年发布了ECMAScript标准(ECMA-262),作为JavaScript的标准规范。:ECMAScript 5引入了严格模式(strict mode)的概念,为JavaScript定义了一种不同的解析与执行模式。在严格模式下,ECMAScript 3中的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误。ECMAScript的模块系统允许代码的模块化开发,提高了代码的可维护性和可重用性。

qq_63447955的博客 1459

基于Arduino UNO的OLED显示器使用方法x2(Arduino系列五)

Arduino使用OLED显示模块可以实现串口数据显示,还可以与其他模块联合使用,实现实时显示开发板实时数据。

LNN0212的博客 4171

机器人动力学仿真软件:V-REP (CoppeliaSim)_(15).仿真项目案例分析

通过以上几个具体的仿真项目案例,我们展示了如何在V-REP (CoppeliaSim)中进行二次开发,实现复杂的机器人动力学仿真任务。这些案例涵盖了六轴机械臂的运动学仿真、移动机器人的路径规划和避障、以及无人机的飞行控制和环境感知。每个项目都通过编写Lua脚本实现了对机器人模型的控制和任务执行,并通过仿真结果分析验证了算法的有效性和系统性能。希望这些案例能够为读者在实际项目中使用V-REP (CoppeliaSim)提供有益的参考和启发。

kkchenjj的博客 1294

JS-ECMAScrip知识点总结

js的Dom知识点总结

weixin_60537353的博客 426

仅使用 Python 创建的 Web 应用程序(前端版本)第03章Streamlit-多页面

接下来,我们将解释多页面切换。Streamlit 没有“多页面”或“页面路由”等功能。另一方面,通过根据用户动作切换要执行的功能,可以使其看起来好像存在“多个页面”。注意:我认为它类似于 SinglePageApplication (SPA)。然而,根据 React、Vue 等中使用的 URL 路径来更改页面的路由很困难。还有一个用于获取查询参数的实验性 API,但如果您确实需要这种功能,我认为认真尝试编写 React 或 Vue 是个好主意。我们来看一个通过按下按钮来切换页面的示例,如下所示。

xianyinsuifeng的博客 1329

ECMAScript 6.0

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准, 2015 年 6 月发布ECMAScript 和 JavaScript 的关系(类似接口和类的关系):ECMAScript 是 JavaScript 的规范/规则,JavaScript 是 ECMAScript 的一种实现 const 声明常量/只读变量 解构赋值 是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值(解构赋值是对赋值运算符的扩展 )主要有两种形式: 数组解构和......

Al_tair的博客 770

【FPGA教程案例59】深度学习案例6——基于FPGA的CNN卷积神经网络之整体实现

在课程,我们对的基本原理有了初步认识。在上一个课程,我们完成了CNN的Relu激活层、pool池化层、卷积层以及图像输入层的实现,如下图所示:在本课程中,我们将上述四个模块结合起来,构建一个简单的CNN卷积神经网络。...

FPGA/MATLAB学习教程/源码/项目合作开发 2637

DRM全解析 —— encoder详解(3)

DRM全解析 —— encoder详解(3)

phmatthaus的专栏 491

ECMAScript 6 入门简介

ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 标准的制定者有计划,以后每年发布一次标准,使用年份作为版本。因为ES6的第一个版本是在2015年发布的,所以又称ECMAScript 2015(简称ES2015)。 2016年

xiangzhihong8的专栏 2334

uniapp [全端兼容] - 实现接入使用天地图及卫星视图切换功能,在国家天地图上自由切换地图显示类型(卫星视图/地形视图/卫星混合/地形混合/普通视图)天地图切换视图显示改成卫星风格,切换地图图层

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,天地图,视图,卫星,地图类型切换,uniAPP天地图,改成卫星视角,在线地图切换,来回切换卫星图,天地图如何实现来回切换卫星图,地形图,卫星视图,VUE3引入天地图卫星版,详细教程示例源码代码,天地图切换卫星用什么api,卫星视角API方法,vue3卫星天地图,能改地图的显示方式,vue3中使用天地图自定义样式切换地图图层,切换报错,加载出错,卫星图太卡,地图图层更换,vue3安装集成天地图详细示例源

🏆 前端领域优质创作者 1万+

【前端】ECMAScript6从入门到进阶

ECMAScript6入门到进阶

互联网小阿祥 1634

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

ECMAScript6.0(ES6)

ES6

Joyechen1的博客 292

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ES6课堂笔记

ES6:ECMAScript 6,新的javascript语法标准 2015正式推出 为了js更加快捷与方便var:全局作用域、函数作用域、没有 if,switch,while,do,else作用域、会变量提升let:局部变量 1.局部作用域,(在一对{}启用) 2.不能变量提升 3.在一个作用域里面不能重复声明let应用领域: 三.const const:常量不会变量提示 let 一样 变量名建议大写 声明必须赋值 值类型不允许修改什么时候使用const:1.当声明变量不允许修改的时候,是个

m0_59248606的博客 379

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ECMAScript 6.0新特性(包括let、conset、各种JavaScript语法简写)

2.let只能声明一次, var可以声明多次3.let不存在变量提升, var存在变量提升。

m0_74301606的博客 791

前端技术ES6新特性解构字符串扩展表达式箭头函数对象拓展运算符map 和 reduce Promise 模块化export import及Node.js

ES6 1、简介 ECMAScript 6.0(以下简称 ES6,ECMAScript 是一种由 Ecma 国际(前身为欧洲计算机制造商协会,英文名称是 European Computer Manufacturers Association)通过 ECMA-262标准化的脚本程序设计语言)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了,并且从 ECMAScript 6 开始,开始采用年号来做版本。即 ECMAScript 2015,就是 ECMAScript6。它的目标.

baikunlong的博客 572

ECMAScript 详解

ECMAScript 与 JavaScript 的关系

材女的进击 2633

【Java前端技术栈】ES6-ECMAScript6.0

1. ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准, 2015 年 6 月发布。2. ES6 设计目标:达到 JavaScript 语言可以用来编写复杂的大型程序,成为企业级开发语 言3. ECMAScript 和 JavaScript 的关系:ECMAScript是JavaScript的规范/规则,JavaScript 是ECMAScript的一种实现1. 箭头函数提供更加简洁的函数书写方式。2. 基本语法是:(参数列表) => { 函数体 }

qq_41891655的博客 1560

Java:48-ECMAScript6详解

ECMAScript6详解 ECMAScript6 简介: ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了 它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言 ECMAScript 和 JavaScript 的关系: 要讲清楚这个问题,需要回顾历史 1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 EC

qq_59609098的博客 803
上一篇: editplus5激活码,亲测有效!
下一篇: 用 font-size:0来清除inline-block元素之间的间距
子化诗理
博客等级 码龄9年 22粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值