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

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

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(零):起步

一、安装 npm i -g typescript 二、使用 安装完TypeScript后,我们可以通过tsc指令来编译.ts文件,如: $ tsc index.ts

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)会执行队列中的下一个任务。传统上,实现异步编程的解决方案有:

《ECMAScript6入门》学习笔记之Proxy

Proxy用于修改某些操作的默认行为,相当于在语言层面做出修改。可以认为是在目标对象之前架设了一层拦截,外界对目标对象的访问,都需要首先经过拦截层 一、示例 我们可以使用Proxy来拦截一个对象的属性的读写操作: const rea...