ts学习

安装 npm install 

1.ts 转换js

cmd :ts --init 生成tsconfig.json转换文件

cmf : tsc(回车) 转换成功

2.类型(基础)

布尔值 let bool:boolean = true;

数值    let num:number = 1; 支持十进制,十六进制,二进制和八进制字面量

字符串 let str:string = "名字";

数组   let arr:Array<string> = ['androw','ios']//<>数组的属性是字符串 

// let numbers:Array<number> = [0,10]// 等同于
// let numbers:number[] = [0,10];//还可以存储其他类型
let numabers:any[] = [0,true,"dsf"]//所有类型
元组     定义:元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
   let colos:[string,number] = ["red",1]    
枚举 定义:enum类型是对JavaScript标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字。
      默认情况下,从0开始为元素编号。或者,全部都采用手动赋值
   enum Color {Red, Green, Blue} let c: Color = Color.Green;
   如果 定义 Green = 100;//在不赋值会打印 0,1,2 但是 在赋值会打印 0,100,101
any  定义:在编程阶段还不清楚类型的变量指定一个类型 没有强制限定哪种类型,随时切换类型都可以
   let notSure: any = 4; notSure = "maybe a string instead"; notSure = false; // okay, definitely a boolean
void   定义:某种程度上来说,void类型像是与any类型相反,它表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void
   function warnUser(): void { console.log("This is my warning message"); }
   声明一个void类型的变量没有什么大用,因为你只能为它赋予undefinednull
   但在tsconfig.json strict 为false时 表示非严格模式 null才可使用
   官方有这句话解释,当你指定了--strictNullChecks标记,nullundefined只能赋值给void和它们各自;
null 和 undefined let u: undefined = undefined; let n: null = null;
never 定义:never类型表示的是那些永不存在的值的类型。
   never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)。 即使 any也不可以赋值给never

  let x: never;
  let y: number;

  // 运行错误,数字类型不能转为 never 类型
  x = 123;

  // 运行正确,never 类型可以赋值给 never类型
  x = (()=>{ throw new Error('exception')})();

  // 运行正确,never 类型可以赋值给 数字类型
  y = (()=>{ throw new Error('exception')})();

  // 返回值为 never 的函数可以是抛出异常的情况
  function error(message: string): never {
    throw new Error(message);
  }

  // 返回值为 never 的函数可以是无限循环这种无法被执行到的终止点的情况
  function loop(): never {
    while (true) {}
  }

object  object表示非原始类型,也就是除numberstringbooleansymbolnullundefined之外的类型。

    declare function create(o: object | null): void; create({ prop: 0 }); // OK create(null); // OK create(42); // Error create("string"); // Error create(false); // Error create(undefined); // Error

 
  
posted @ 2020-01-02 21:20  Mir.zhao  阅读(277)  评论(0编辑  收藏  举报