写在前面 已经写了3篇前置内容了,主要是理解JS中的异步编程,异步的实现、以及异步的原理。今天内容较长,从最简单、最基本的内容入手,一点一点手撸一个简易的 Promise,巩固之前理解的异步原理,这才是我的目标。 手写 Promise 了解…
真丶深入理解JavaScript异步编程(三):async / await
这一篇内容比较短,介绍新增的语法糖。其实也不算新了。。。 async / await 这两个写法是 ES6 新加的特性,这让我们的代码更加简单明了。但是这并不是什么新技术,只是一个语法糖而已,它的本质还是 Promise。 await 我个…
真丶深入理解JavaScript异步编程(二):Promise 原理
有了前文的基础,我们深入剖析一下 Promise 的原理。 Promise 由于 JS 的单线程和任务队列,造成了很多函数嵌套,当这种嵌套激增,就会造成所谓的 回调地狱,这是我们深恶痛绝的。 创建一个 Promise 基于几方面原因,JS …
真丶深入理解JavaScript异步编程(一):异步
异步的由来与实现 JS 在设计之初就是单线程的,所以本质上并不存在异步编程。在经过不断的进化和改良之后,现在所谓的异步编程也只是利用任务队列来改变事件的触发顺序,从而在效果上达到异步。 一个生活中的例子 好比我们要吃饭,那就要先做饭,假设焖…
真丶深入理解 JavaScript 原型和原型链(四):ES6中的class
今天最后总结一下 class 与 原型的关系。 ES6 的语法糖 – 类(class) ES6 有了更加清晰明确的面向对象的关键字,但其实它们只不过是经过修饰的语法糖。 类的基础概念和语法 我们之前在原型链中创建一个对象,需要使…
真丶深入理解 JavaScript 原型和原型链(三):继承
A今天总结一下JS中的继承。前面已经总结了原型和原型链,JS中的继承基于原型链,那么有必要顺着前文继续。 JS 中的继承 首先明确,JS 中的继承是原型继承。有了上面的前置知识,我们可以深入理解 JS 中的原型继承了。 继承不是改变原型的事…
真丶深入理解 JavaScript 原型和原型链(二):原型和原型链
上一篇文章已经总结了关于原型的两个属性,那么接下来所有原型和原型链,乃至后面的继承,都与这两个属性有关系。 原型和原型链 理解继承,首先要搞懂什么是原型和原型链。 理解原型和原型链 上面已经介绍了关于原型的两个属性: __proto__ p…
真丶深入理解 JavaScript 原型和原型链(一):两个属性
网上有很多相关的文章、视频等资料,但很多都是片面的,不完全的。我也为了自身加深理解,所以对其进行一下简单的总结。 本来想写一篇文章进行总结,发现越写越多,还是分成几篇,分别总结吧。 两个属性 可以说 JavaScript 的很多特性都是基于…
@typescript-eslint/no-unused-vars 警告问题
使用 TypeScript 的时候,总是报这个问题,名字很直接,就是有未使用的变量,那么如何消除呢? 很简单: 1、最标准的方式当然是删掉这些变量。 2、配置一下 eslinetrc.js 环境即可。 module.exports = { …
js 升级 ts 之路,含 vue 升级攻略
最近在升级项目,用到了TypeScript,简单总结一下JS转TS,尤其是在vue中的使用方式。 基础语法 对于TS的基础语法,这里就不多介绍了,看官网即可,毕竟巨硬的文档可以秒杀一众系列丛书。 放个链接: TypeScript文档 Typ…