TypeScript 相关

runoob: TypeScript 教程

npm install -g typescript
tsc -v

tsc app.ts
node app.js 

tsc --init

基础类型

any
number
string
boolean
any[] | number[] | Array<number>
[string, number]                     // ['Runoob', 1] 元组

enum Color{Red, Green, Blue};        // 枚举
let c: Color = Color.Blue;
console.log(c); // 2

function name(params:type): void  {} // void

null                                 // null
undefined                            // undefined

// never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。
// 在函数中它通常表现为抛出异常或无法执行到终止点(例如无限循环)
never                                

TypeScript配置严格null类型检查strictNullChecks
感谢博友

// 启用 --strictNullChecks
let x: number | null | undefined;

function fn(callback?: () => void) {
  if (callback) {
    callback();
  }
}

变量声明 > 类型断言(Type Assertion)

TypeScript 联合类型(|)、类型断言(<>、as)
感谢博友

// 获取字符串长度
function getLength(v: number | string): number {
    if ((<string>v).length) {
        // string 类型
        return (v as string).length;
    } else {
        // number 类型
        return v.toString().length;
    }
}
// 使用
getLength(1234567);
getLength('1234567');

运算符 > typeof

typeof 是一元运算符,返回操作数的数据类型。

函数 > 函数重载

typescript 函数重载
感谢博友

function functionName(parameter1: type1): returnType1;
function functionName(parameter1: type1, parameter2: type2): returnType2;
// ... 可以定义多个重载声明
function functionName(parameter1: type1, parameter2: type2, ...): returnTypeN;

function functionName(parameter1: type1, parameter2?: type2, ...): returnType {
  // 函数的实际实现
}

const functionName: {
  (arg1: Type1): ReturnType1;
  (arg2: Type2): ReturnType2;
  // ...
  (argN: TypeN): ReturnTypeN;
} = function(arg: any): any {
  // 函数实现
};
  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值