TypeScript | 青训营笔记

38 阅读2分钟

前端训练营 Day 9

  TypeScript 是另一门用于前端开发的语言。与 JavaScript 不同,TypeScript 是一门强类型语言,且对代码在编译期间做出检查。

变量数据类型

  TypeScript 作为一门强类型语言,对数据类型有了较严格的规范。TypeScript 的数据类型包括booleannumberstring、数组、元组(tuple)、枚举(enum)、任意类型(any)、nullundefinednever等。

  声明变量的语法为var [变量名] : [类型] = 值;,如:

var name:string = "猫猫学姐";
var age:number = 19;
// 未赋值的变量为 undefined
var cat:string;

  使用类型断言(<类型>值值 as 类型)可将一种数据类型转换为另一种数据类型,如:

var sage:string = "18";
var age:number = <number> <any> sage;

函数

  TypeScript 中的函数定义格式大致如下:

function mysum(anum:number, bnum:number):number{
    return anum + bnum;
}

  对于不需要参数或返回值的情形,可直接不写参数或返回值。

  可使用bnum?:number设置 bnum 为可选参数。

  可使用bnum:number = 0设置默认参数,但不可同时设置一个参数为可选参数和默认值(好怪哦)

类与接口

  TypeScript 的类与 Java 等语言的类类似,也有继承、多态等特性。一个 TypeScript 的类的定义如下:

class Cat { 
    // 字段 
    name:string
    age:number
 
    // 构造函数 
    constructor(name:string, age:number) { 
        this.name = name
        this.age = age
    }  
 
    // 方法 
    sayHi():string { 
        return "喵喵"
    } 
}

  TypeScript 的接口(interface)是一些抽象方法的声明,是一类方法的集合,如:

interface animal{
    name:string;
    age:number;
    sayHi: ()=>string;
}

泛型

  TypeScript 也支持使用泛型处理多种数据类型的变量,如:

function identity<T>(arg: T): T {
    return arg;
}

  在上述函数中,我们可以传入任何类型的变量,并智能地返回该类型的变量。我们可以指定传入数据的类型,也可不指定,使用 TypeScript 的类型推断。

本文若有不足之处,欢迎纠正(≧^.^≦)喵~

我的其他笔记,可在掘金或 Github( github.com/DoudiNCer/I… )阅读