愿你坚持不懈,努力进步,进阶成自己理想的人

—— 2017.09, 写给3年后的自己

盘点2017这一年

时光太细,指缝太宽,还没来得及反应,却一年又这么过去了。如果说有什么可以在不停转的时光里留下点痕迹,那么也许一些杂碎之语,能够记住2017年这平凡又不太平凡的一年吧。 最后的考试时光 故事的开头总是这样,适逢其会,猝不及防。2016年和2017年的交接在匆匆忙忙的考试中自然过渡,青春广场上热闹地进行着跨年演出,人群里欢呼雀跃,期待着新一年钟声的敲响。而泡了一学期温水的青蛙...

《ECMAScript6入门》学习笔记之async函数

ES7引入了async函数,使得异步操作变为更加方便和简单。async本质上是generator函数的语法糖 一、介绍 我们现在需要依次读取两个文件,使用generator写,如下: const fs = require('fs') const readFi...

Typescript学习记录:模块

一、介绍 从TypeScript 1.5起,术语名称有了一些变化:内部模块现称为命名空间,外部模块现称为模块 二、支持ES6的模块 TypeScript支持ES6模块,其用法与ES6 Module基本一致(不同的是也支持导出TS的特定语...

Typescript学习记录:高级类型

一、交叉类型 交叉类型将多个类型合并为一个类型,相当于新类型具有这多个类型的所有特性,相当于是一种并的操作,通常在使用混入(mixin)的场合使用交叉类型,交叉类型的形式如: T & U 例子:

Git操作备忘录

常见场景 1、本地新拉了一个分支,如何同步到远端? 使用: $ git push -u origin branchName 2、不小心在错误的分支上写了代码,如何换到另一个分支? 可以使用...

Typescript学习记录:泛型

泛型在可重用组件里是一个很重要的特性,typescript也支持泛型 一、简单的例子 我们想要设计一个函数,函数的作用是返回任何我们传入的东西,如: function identity(arg: number): number { return arg }

Typescript(肆):函数

一、介绍 函数是JavaScript程序的基础,函数可以实现抽象层、模拟类、信息隐藏和模块。虽然typescript中已经支持了类、命名空间和模块,但是函数仍然是主要的定位行为的地方。typescript增强了函数的功能,使得函数可以更易于使用 二、函数类型 typescript中,函数也是一种类型,其形式可以描述如下:

Typescript(叁):类

一、基本用法 可以使用class关键字来声明一个类,类里面可以声明属性和方法,如: class ClassName { prop: type // 声明属性 // 声明构造器 constructor() { } ...

Typescript(贰):接口

一、介绍 typescript的核心设计原则之一是对值所具有的结构进行类型检查,接口的作用就是为类型命名和为代码结构定义契约,一个简单例子如: function showName(person: { name: string; age: number }) { console.log(per...

Typescript(壹):基础类型与变量声明

一、TS的基础类型 typescript除了兼容JavaScript本身就具有的数据类型外,还支持一些它独特的数据类型,所以typescript共支持以下的基本数据类型: object、boolean、number、string、null、undefined、数组、元组、枚举、any、void、never 在ty...

《ECMAScript6入门》学习笔记之Generator的异步应用

一、基本概念 1、异步 如果一个任务不是连续完成的,那么该任务可以被人为划分为两段,先执行第一段,然后转而执行其他任务,等做好了准备再回过头来准备第二段。而相应的,如果一个任务需要连续执行,中途不能被其他任务插入,那么这种任务就是同步的。 2、回调函数 回调函数就是将函数的第二段写在一个函数里,等到重新执行这个任务的时候,就直接调用该函数,即

《ECMAScript6入门》学习笔记之Generator的语法

一、介绍 generator是ES6提供的一种异步编程解决方案,从语法上,可以将其理解为一个状态机,封装了多个内部状态。 执行generator函数,会返回一个遍历器对象,所以 generator也是一个遍历器对象生成函数,返回的遍历器对象,可以遍历generator函数内部的每一个状态,定义一个generator函数如:

HTTP学习系列(一)HTTP协议基础

一、http协议 http协议用于客户端和服务端之间的通信,通过请求和响应的交换来达成通信。一次http请求,是从客户端发送请求报文开始,到服务端返回响应报文结束的。以下是一次HTTP请求报文的示例: 请求报文

《ECMAScript6入门》学习笔记之Iterator和for-of

一、基本概念 iterator(迭代器)提供一种统一的接口,用以遍历一个集合型的数据结构。只要一个数据结构实现了iterator接口,那么它就能够: 1)使用for-of遍历 2)被展开运算符(...)展开 使用Typescript来描述迭代器接口的话,可以表示如下:

《ECMAScript6入门》学习笔记之Promise

一、异步编程 由于JavaScript引擎是基于单线程、事件循环的,所以同一时刻只允许一个代码块在执行。在同一时刻中,JavaScript引擎只能执行一个代码块,而其他不在同一个事件循环中的代码块会被放在任务队列中,当当前代码块执行完毕后,事件循环(event loop)会执行队列中的下一个任务。传统上,实现异步编程的解决方案有: