随笔分类 -  ES6

摘要:前提 我们编写js代码时经常遇到复杂逻辑判断的情况,通常大家可以用if/else或者switch来实现多个条件判断,但这样会有个问题,随着逻辑复杂度的增加,代码中的if/else/switch会变得越来越臃肿,越来越看不懂,那么如何更优雅的写判断逻辑,本文带你试一下。 举个例子 先看一段代码 /** 阅读全文
posted @ 2020-05-08 14:32 寒江孤影,江湖路人 阅读(488) 评论(0) 推荐(0)
摘要:代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>...this.props</title> <script src="https://cdn.staticfile.org/react/16.4.0/umd/rea 阅读全文
posted @ 2020-02-26 15:53 寒江孤影,江湖路人 阅读(833) 评论(0) 推荐(0)
摘要:基本用法 promise有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败),Promise构造函数接受一个函数作为参数,该函数的两个参数分别是resolve和reject,其中resolve函数会将pending状态改为fulfilled,reject函数 阅读全文
posted @ 2020-01-09 15:41 寒江孤影,江湖路人 阅读(266) 评论(0) 推荐(0)
摘要:1.Promise.prototype.then()方法 Promise 实例具有then方法,也就是说,then方法是定义在原型对象Promise.prototype上的。它的作用是为 Promise 实例添加状态改变时的回调函数。then方法的第一个参数是resolved状态的回调函数,第二个参 阅读全文
posted @ 2020-01-09 15:21 寒江孤影,江湖路人 阅读(1038) 评论(0) 推荐(0)
摘要:去年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性之一,我们有必要掌握并理解透彻。本文将由浅到深,讲解Promise的基本概念与使用方法。 ES6 Promise 先拉出来遛遛 复杂的概念先不讲,我们先简单粗暴地把Prom 阅读全文
posted @ 2020-01-09 11:17 寒江孤影,江湖路人 阅读(330) 评论(0) 推荐(1)
摘要:箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别: 箭头函数内部的this是词法作用域,由上下文确定。 箭头函数中的this是在定义函数的时候绑定,而不是在执行函数的时候绑定。 由于this在箭头函数中已经按照词法作用域绑定了,所以,用call()或者apply()、b 阅读全文
posted @ 2019-12-11 14:33 寒江孤影,江湖路人 阅读(2009) 评论(0) 推荐(2)
摘要:Promise解决的问题相信每个前端都遇到过这样一个问题,当一个异步任务的执行需要依赖另一个异步任务的结果时,我们一般会将两个异步任务嵌套起来,这种情况发生一两次还可以忍,但是发生很多次之后,就形成了所谓的回调地狱,代码层层嵌套,环环相扣,很明显,逻辑稍微复杂一些,这样的程序就会变得难以维护。就比如 阅读全文
posted @ 2019-12-04 16:51 寒江孤影,江湖路人 阅读(5865) 评论(0) 推荐(0)
摘要:使用常量替代 Mutation 事件类型 使用常量替代 mutation 事件类型在各种 Flux 实现中是很常见的模式。这样可以使 linter 之类的工具发挥作用,同时把这些常量放在单独的文件中可以让你的代码合作者对整个 app 包含的 mutation 一目了然: 理解: ES6 允许字面量定 阅读全文
posted @ 2019-12-03 18:35 寒江孤影,江湖路人 阅读(1682) 评论(0) 推荐(0)
摘要:学习《ECMAScript6入门》中的模板字符串的案例中看见了new Function()创建函数的语法: 上面的代码传入name参数和字符串函数体,字符串函数体由模板字符串提供,非常简洁方便。 为理解new Function,于是找到了下面这篇文章: 下文翻译自:https://javascrip 阅读全文
posted @ 2019-09-26 16:35 寒江孤影,江湖路人 阅读(862) 评论(0) 推荐(0)
摘要:相信昨晚前端,很多同学应该都见过类似于: 等这样的匿名函数写法! 当然对于老同志来说,肯定是明白这样写法的作用了,但是对于新手来说可能会有一定的困扰,这里就简单给大家分享一下关于这种写法的作用,以及原理! 众所周知,在js中可以这样创建一个匿名函数: 而匿名函数后面的小括号()是为了让匿名函数立即执 阅读全文
posted @ 2019-09-26 11:36 寒江孤影,江湖路人 阅读(564) 评论(0) 推荐(0)
摘要:展开操作符(spread) 展开运算符(spread operator)允许一个表达式在某处展开。展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以使用。 函数调用中使用展开运算符 在以前我们会使用apply方法来将一个数组展开成多个参数: 上面代 阅读全文
posted @ 2019-09-26 10:51 寒江孤影,江湖路人 阅读(2173) 评论(0) 推荐(1)
摘要:这部分教程我们主要讲解以下几个常用语法 模板字符串 带标签的模板字符串 判断字符串中是否包含其他字符串 给函数设置默认值 模板字符串 老式的拼接字符串方法 let dessert = '🍰', drink = '🍵' let breakfast = '今天的早餐是 ' + dessert + ' 阅读全文
posted @ 2019-09-26 10:45 寒江孤影,江湖路人 阅读(2141) 评论(0) 推荐(0)
摘要:es6之扩展运算符 三个点(...) 对象的扩展运算符 数组的扩展运算符 总结 es6之扩展运算符 三个点(...) 对象的扩展运算符 数组的扩展运算符 总结 对象的扩展运算符 数组的扩展运算符 总结 es6之扩展运算符 三个点(…)对象的扩展运算符理解对象的扩展运算符其实很简单,只要记住一句话就可 阅读全文
posted @ 2019-09-25 17:23 寒江孤影,江湖路人 阅读(402) 评论(0) 推荐(0)
摘要:语法: Object.assign(target, …sources) target: 目标对象,sources: 源对象用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。 用法示例:复制一个对象 深拷贝问题针对深拷贝,需要使用其他办法,因为 Object.assign() 阅读全文
posted @ 2019-09-25 16:55 寒江孤影,江湖路人 阅读(447) 评论(0) 推荐(0)
摘要:要理解这个,我们首先要理解一个概念“类”,所谓类,指的是对象的模版。对象就是类的实例。由前面我们知道,对象是单个实物的抽象,所以通常需要一个模版,表示某一类实物的共同特征,然后对象根据这个模版生成,这个过程就叫做对象实例化。但是在JS中是没有“类”这个概念的,而是用构造函数来作为对象模版的,所谓构造 阅读全文
posted @ 2019-09-25 15:27 寒江孤影,江湖路人 阅读(4772) 评论(0) 推荐(1)
摘要:函数写法区别 计算a, b两个数字之和,有返回值 es5 写法 es6 写法(箭头函数) 注意: 箭头函数作用于执行代码,这时使用{} 当执行的代码语句只有一个逻辑表达式,这时可以省略{} 箭头函数用于返回对象时,这时使用() 箭头函数的参数当只有一个参数时,这时可以省略参数的() 打印计算结果,没 阅读全文
posted @ 2019-09-25 14:40 寒江孤影,江湖路人 阅读(1778) 评论(0) 推荐(1)
摘要:js常用语法系列教程如下 es5与es6常用语法教程(1) es5与es6常用语法教程(2) es5与es6常用语法教程(3) es5与es6常用语法教程(4) es5与es6常用语法教程(5) es5与es6常用语法教程(6) es5与es6常用语法教程(7) 这部分教程我们主要讲解以下几个常用语 阅读全文
posted @ 2019-09-25 14:32 寒江孤影,江湖路人 阅读(1186) 评论(0) 推荐(0)
摘要:1、概述 在js的历史上一直没有模块(module)体系,无法将一个大程序拆分成相互依赖的小文件,再用简单的方法拼装起来,这对开发大型的、复杂的项目形成了巨大障碍。 在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 阅读全文
posted @ 2019-09-25 11:05 寒江孤影,江湖路人 阅读(542) 评论(0) 推荐(0)