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

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

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

《ECMAScript6入门》学习笔记之Proxy

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

《ECMAScript6入门》学习笔记之Class的继承

ES6中引入了class关键字来作为实现类的语法糖,与此同时,ES6中的类也支持继承的概念,以下为继承的学习总结 一、简介 一个简单的继承例子为: class A { // some codes } class B exten...

《ECMAScript6入门》学习笔记之Set和Map

Set()和Map()是ES6中新引入的两种数据结构,Set()同数学上的集合,其子元素不会重复。而Map()则是用来更好实现键值对映射的数据结构,解决了Object中键的类型只能为string的限制 一、基本用法 创建一个Set和一个Map的方法是类似的,都是用构造函数: