让前端飞程序猿阵线联盟-汇总各类技术干货Web前端之路

Learning TypeScript读书笔记1

2018-05-31  本文已影响3人  GunnerAha

《Learning TypeScript》english edition, 2015

Chap 1 简介

1.TypeScript设计目标

2.npm环境下安装:npm install -g typescript。编译:tsc test.ts

3.强类型语言,使用:加类型声明变量,支持自动推导。类型有:

Javascript中的undefined和null不能作为类型使用。undefined表示变量声明未初始化:var test;alert(test);//undefined。null表示一个特殊值:var test=null;alert(test);//null

4.类型定义:

5.union联合类型,例如:

var path:string[]|string;
path = 'www';
path = ['http','www'];

6.类型别名,例如:

type PrimitiveArray = Array<string|number|boolean>;
type Callback = ()=>void;

7.外部类型声明,用于提供typescript中未定义的类型使用时不包错,如Jquery中的$。例如:

interface ICustomConsole{
  log(arg:string):void;
}
declare var customConsole:ICustomConsole;

这样便可以使用customConsole而不报错console.log也是这样实现的,其声明存放在declaration files/type defination files文件中,例如lib.d.ts。

8.函数:

9.类:使用class声明,默认属性/方法是public的,构造函数是constructor。

10.接口:使用interface声明。

11.命名空间:使用namespace声明,内部模块,里面的接口,类,变量使用export修饰后外部可见。是typescript本身支持的模块系统,用于隔离内部作用域。

12.模块:外部模块,用于公共代码导入导出(import和export)。

Chap 2 常用工具

前端常用工具如下:

关于模块化工具,有三种规范:

AMD和CMD最大的区别是对依赖的执行时机不同,而不是加载的时机或者方式。AMD加载完成后执行回调函数,执行顺序与书写顺序可能不同,所有模块加载完成后执行主逻辑。CMD加载完成依赖后不执行,只是下载,所有模块加载完后执行主逻辑,只有遇到require才执行对应的模块,模块的执行顺序与书写顺序一致。

上一篇下一篇

猜你喜欢

热点阅读