• TypeScript详解


    TypeScript详解(安装使用、基础类型总结、类型断言用法、接口、类、函数、泛型、相同类型之间赋值、unknown、枚举等)

    https://blog.csdn.net/AIWWY/article/details/123230874

     

     1 interface Iperson {
     2   name: string;
     3   age: number;
     4   getName: () => string;
     5   getAge(): number;
     6 }
     7 //类实现接口. implements
     8 class person implements Iperson {
     9   name: string = "John";
    10   age: number;
    11   getName(): string {
    12     return this.name;
    13   }
    14   getAge(): number {
    15     return this.age;
    16   }
    17 }
    18 
    19 //类型断言
    20 function add(a: string | number, b: string | number): number {
    21   // return a + b; //会报错,因为不确定类型
    22   // if(typeof a === 'string') {               //常规js操作
    23   //   return a.length
    24   // }
    25   if ((a as string).length) {
    26     // return (a as string).length  //断言方法 or
    27     return (<string>a).length;
    28   } else {
    29     return a.toString().length;
    30   }
    31 }
    32 
    33 // 非空断言 (和三元表达式一样)
    34 function getI(a?: string): number {
    35   // return a ? a.length : 0
    36   return a!.length; //非空断言
    37 }
    38 getI();
    39 
    40 //枚举(赋值) 和反向映射
    41 enum Color {
    42   red,
    43   green,
    44   yellow = 10
    45 }
    46 Color.red //0
    47 Color[0] // red 反向映射
    48 
    49 //泛型
    50 function identity<T>(arg: T): T {
    51   return arg;
    52 }
    53 let output = identity<string>("myString");  // type of output will be 'string'
    54 
    55 function funa<T>(a: T, b: T): number {
    56   // if(typeof a === 'number' && typeof b === 'number') {}
    57     return a + b        //Error 运算符“+”不能应用于类型“T”和“T”。 
    58 }
    59 funa<number>(3, 3)
    60 
    61 
    62 
    63 function loggingIdentity<T>(arg: T): T {
    64   console.log(arg.length);  // Error: T doesn't have .length
    65   return arg;
    66 }
    67 loggingIdentity<number>(3)
  • 相关阅读:
    docker删除常见命令
    测试网中用户添加docker yum源
    kafka 重新分配partition
    docker-compose常用命令
    docker 常用命令
    docker-compose部署ELK
    ELK全Dokcer 部署
    Harbor修改/data目录位置
    单机多es容器服务部署的网络模式
    C++使用模板类时出现LNK2019 unresolved external symbol错误.
  • 原文地址:https://www.cnblogs.com/shun1015/p/16065907.html
Copyright © 2020-2023  润新知