es6
文章平均质量分 74
ES6是简称,全称是ECMAScript 6.0。由于es6是2015年6月份发布的标准。又可以称之为ECMAScript 2015 或 ES2015。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
温柔的二斤半
凡事皆有可能,永远别说永远。
展开
-
ES6模块化开发
随着网站逐渐变成”互联网应用程序”,嵌入网页的Javascript代码越来越庞大,越来越复杂。网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等……开发者不得不使用软件工程的方法,管理网页的业务逻辑。Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。但是,Javascript不是一种模块化编程语言,它不支持”类”(class),更不要说”模块”(module)了。所幸当前ECMAScript标准。原创 2023-07-12 10:51:26 · 91 阅读 · 0 评论 -
Proxy
Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。方法用于拦截某个属性的读取操作,可以接受三个参数,依次为目标对象、属性名和 proxy 实例本身(严格地说,是操作行为所针对的对象),其中最后一个参数可选。方法用来拦截某个属性的赋值操作,可以接受四个参数,依次为目标对象、属性名、属性值和 Proxy 实例本身,其中最后一个参数可选。对象)进行操作,而不是针对目标对象(上例是空对象)进行操作。原创 2023-07-11 10:25:08 · 56 阅读 · 0 评论 -
变量的解构赋值
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。数组、对象、函数参数、字符串、数值和布尔值。null和undefined不行。在实际开发时,真正使用比较多的是数组、对象和函数参数的解构。解构赋值,可以理解为变量的取出,并赋值给新变量。为这样的操作提供了一种简便语法。原创 2023-07-11 09:55:08 · 24 阅读 · 0 评论 -
Class 类
这是因为子类自己的this对象,必须先通过父类的构造函数完成塑造,得到与父类同样的实例属性和方法,然后再对其进行加工,添加子类自己的实例属性和方法。在ES6实现继承中会有constructor构造函数,而实现继承的子类构造函数中必须先调用super()方法,此处的super()为父类的构造方法,而如果不调用,浏览器则会报错。基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。原创 2023-07-11 10:24:12 · 40 阅读 · 0 评论 -
Promise
由于JS是单线程的,遇到耗时任务时,为防止代码阻塞,都需要异步处理该任务。比如ajax网络请求,定时器…原创 2023-07-11 10:26:46 · 22 阅读 · 0 评论 -
Promise的其他属性
的 Promise 对象,是在本轮“事件循环”(event loop)的结束时执行,而不是在下一轮“事件循环”的开始时。setTimout中传入的回调方法应该是被js引擎直接调用的,而引擎直接发出的报错,这可能就是捕获不到throw的原因。方法同样是将多个 Promise 实例,包装成一个新的 Promise 实例。方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。方法也会返回一个新的 Promise 实例,该实例的状态为。方法,该方法返回的是一个新的 Promise 实例,原创 2023-07-11 10:33:46 · 116 阅读 · 0 评论 -
let 和 const
for循环的 { } 是一个代码块,每一个代码块中使用 let 声明了各自的变量 i,形成各自的块作用域 事件处理函数运行时找的就是自己所在块作用域的 i。上面代码中,存在全局变量tmp,但是块级作用域内let又声明了一个局部变量tmp,导致后者绑定这个块级作用域,所以在let声明变量前,对tmp赋值会报错。let 则提供了块作用域的用法,也就是 let 声明的变量只在它所在的代码块有效。只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。原创 2023-07-11 09:33:30 · 24 阅读 · 0 评论 -
async await
当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句。async函数返回一个 Promise对象,语义上理解:当函数前面加上 async 表示函数内部有异步操作。await 关键字要在 async 关键字函数的内部,await 写在外面会报错。正常情况下,await命令后面是一个 Promise 对象,返回该对象的结果。await右侧如果是函数,那么函数的return值就是「表达式的结果」async 和 await 最大的好处是让前端有了能力。原创 2023-07-11 10:34:52 · 44 阅读 · 0 评论