拥抱TypeScript

絮凝协程
• 阅读 1050

TypeScript入门

基本类型和扩展类型

  1. TypescriptJavascript共享相同的基本类型,但有一些额外的类型。
  • 元组Tuple
  • 枚举enum
  • AnyVoid
  • never

基本类型

// 数字
let num: number = 6;
let num: number = 0xf00d;

// 字符串
let name: string = "bob";

// 数组,第二种方式是使用数组泛型,Array<元素类型>:
let list: number[] = [1, 2, 3];
let list: Array<number> = [1, 2, 3];
let list: any[] = [1,2,3,'4'];

// symbol
let s:symbol = Symbol('s');

// boolean
let isTrue: boolean = true;

// undefined
let u: undefined = undefined;

// null
let n: null = null;

// 定义多种类型
let s:string|undefined;

特殊类型

  1. 元组Tuple

    元组作为有组织的数组,需要以正确的顺序预定义数据类型。

    const tuple: [number, string, string] = [24, "Indrek" , "Lasn"];
    const arr3:[string, number] = ['12',1];
  2. 枚举enum

    enum类型是对JavaScript标准数据类型的一个补充。 像C#等其它语言一样,使用枚举类型可以为一组数值赋予友好的名字。

    enum Flag {
        success = 0,
        error = 1
    }
    let c: Flag = Flag.success; // 0
    let d: string = Flag[0]; // success
  3. Any

    表示任意类型,慎重使用,用多了就失去使用Ts的意义

    用于类型不明确的情况

  4. Void

    • 在Typescript中,你必须在函数中定义返回类型
    • 我们可以将其返回值定义为void
    • 用void定义的函数不能写return
    function run():void{
        console.log('run')
    }
  5. never

    Never是永远达不到的值

    // 返回never的函数必须存在无法达到的终点
    function error(message: string): never {
        throw new Error(message);
    }
    
    // 推断的返回值类型为never
    function fail():never {
        return error("Something failed");
    }
    
    // 返回never的函数必须存在无法达到的终点
    function infiniteLoop(): never {
        while (true) {
        }
点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
皮卡皮卡皮 皮卡皮卡皮
4年前
了解什么是 TypeScript
内容纲要了解什么是TypeScriptTypeScript基本语法TypeScript介绍TypeScript是什么TypeScript是JavaScript的强类型版本。然后在编译期去掉类型和特有语法,生成纯粹的JavaScript代码。由于最终在浏览器中运行的仍然是JavaScript,所以TypeScript并
Jacquelyn38 Jacquelyn38
4年前
零基础学习TypeScript(源码开源)
今天,这篇文章篇幅很短,主要开放我最近学习整理TypeScript源码。|文件夹|作用|||||demo1|TypeScript的定义||demo2|基础环境搭建||demo3|基础类型和对象类型||demo4|类型注解和类型推断||demo5|函数相关类型||demo6|数组与元组||dem
爱丽丝13 爱丽丝13
4年前
TypeScript 4.2 有哪些新特性
TypeScript4.2发布了!对于不熟悉TypeScript的人来说,TypeScript就是增加了静态类型和类型检查的JavaScript。有了类型限制,你就可以精确的表达你的函数需要什么类型的参数以及返回什么类型的结果。同时,利用TypeScript的类型检查,你可以很容易避免一些常见错误,例如拼写错误或者忘记处理null和un
Karen110 Karen110
4年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Wesley13 Wesley13
4年前
VSCode配置FiraCode和更纱黑体字体
!(https://oscimg.oschina.net/oscnet/c7bb62d935ceb01d3b7fe176322e84ae00d.png)Fira Code下载到FiraCode字体的GitHub(https://www.oschina.net/action/GoToLink?urlhttps%
Easter79 Easter79
4年前
TypeScript 基本类型(一)
1、boolean布尔值true/falseletisDone:booleanfalse;2、number数字:和JavaScript一样,TypeScript里的所有数字都是浮点数。另外支持二进制,八进制,十进制,十六进制。letdecLiteral:number6;lethex
Easter79 Easter79
4年前
TypeScript学习笔记
TypeScript学习笔记TypeScript是JavaScript的超集,任何合法的JS程序都是合法的TypeScript程序TypeScript通过向JavaScript增加可选的静态类型声明来把JavaScript变成强类型程序语言。静态类型声明可约束函数、变量、属性等程序实体。TypeScript语言内