前端训练营 Day 9
TypeScript 是另一门用于前端开发的语言。与 JavaScript 不同,TypeScript 是一门强类型语言,且对代码在编译期间做出检查。
变量数据类型
TypeScript 作为一门强类型语言,对数据类型有了较严格的规范。TypeScript 的数据类型包括boolean、number、string、数组、元组(tuple)、枚举(enum)、任意类型(any)、null、undefined、never等。
声明变量的语法为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… )阅读