这两天终于抽空学习了typescript,把欠了四年的帐给补上了。
废话不多说,先上官网链接:TypeScript中文网 · TypeScript——JavaScript的超集
一、下载安装:用npm
> npm install -g typescript
验证是否安装成功:
> tsc

二、介绍一些概念:
TypeScript是JavaScript的超集,是在JavaScript上添加了静态类型定义而构成的。
静态类型:定义变量时需要说明类型,并且类型不可变。
动态类型:定义变量时不需要限制类型,可以给变量赋任何值。
JavaScript支持的类型:string,boolean,number,bigint,null,undefined,symbol,object
三、语法:
定义变量和方法:
let taskName : String = "work as bee";
let createDate : Date = new Date();
let taskNo : number = 1;
function addTask (name : String) : object {
    return new Object();
}定义变量为任意type:
let test : any = "test";
test = 1;定义接口:
interface Task {
    name : string;
    createDate : Date;
    no: number;
}
function getTaskByNo (no: number) : Task {
    return null;
}在接口中定义可选参数和只读参数:
interface TaskEnhancement {
    name : string;
    createDate : Date;
    readonly no : number;
    content ?: string;
}
function addNewTask (task : TaskEnhancement) {
}定义枚举值:
let testType : "typeOne" | "typeTwo";
testType = "typeOne";自定义type:
type cost = number | string;
let opTest : cost = 100;
if (typeof opTest === "number") {
    let testN : number = opTest;
} else {
    let testO = opTest;
}
js转换为ts:给所有的参数加上type,所有function的返回值加上type
class的权限:private,protected,public(default)
泛型:
function clone<T>(source : T) : T {
    return  Object.assign({}, source);
}
interface KeyValuePair<TKey, TValue> {
    Key : TKey;
    Value : TValue;
}四、tsconfig.json
支持JavaScript:allowJs,checkJs
添加其他库:lib
{
  "compilerOptions": {
      "target": "es2016",
      /* JavaScript Support */
      "allowJs": true,    /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
      "checkJs": true,    /* Enable error reporting in type-checked JavaScript files. */
      "lib": ["ES2015.Promise", "WebWorker", "DOM"]
   }
}五、添加第三方件
在网站npm上搜索typescript支持的第三方件,使用npm安装,在到node_modules目录下找到对应的三方件。例如:
搜索@Type jquery

安装:

 
 



















