TypeScript入门学习笔记
2024-01-07 04:39:08
TypeScript入门
TypeScript是JavaScript的一个超集,并且支持ES6,是一种面向对象的编程方法,常用的用法主要包括以下几个部分:基础类型,类型批注,类型推断,接口,枚举,修饰符,泛型,命名空间,类,元组等。TypeScript可以在任何浏览器中运行,也可以在Node.js环境中运行。
基础类型
TypeScript中的基础类型包括:
- 数字:可以是整数或浮点数。
- 字符串:用单引号或双引号括起来的一系列字符。
- 布尔值:true或false。
- 数组:一组有序的值。
- 元组:一个固定长度的数组,其中每个元素都有一个特定的类型。
- 枚举:一组命名的常量。
- 任意类型:表示任何类型的值。
- 空类型:表示一个没有值的变量。
类型批注
TypeScript允许您为变量和函数添加类型批注。类型批注可以帮助TypeScript编译器检查您的代码是否存在类型错误。例如,以下代码中,我们为变量name
添加了类型批注,表明它是一个字符串类型:
let name: string = "John Doe";
类型推断
TypeScript编译器可以自动推断出变量的类型。例如,以下代码中,我们没有为变量age
添加类型批注,但TypeScript编译器可以自动推断出它是一个数字类型:
let age = 30;
接口
接口是一组相关方法的集合。接口可以用于定义对象的形状。例如,以下代码中,我们定义了一个Person
接口,其中包含name
和age
两个属性:
interface Person {
name: string;
age: number;
}
枚举
枚举是一组命名的常量。枚举可以用于定义一组相关的值。例如,以下代码中,我们定义了一个Color
枚举,其中包含Red
、Green
和Blue
三个常量:
enum Color {
Red,
Green,
Blue
}
修饰符
修饰符用于改变类的行为。例如,以下代码中,我们使用public
修饰符来指定name
属性是公共的,这意味着它可以在类的任何地方访问:
class Person {
public name: string;
constructor(name: string) {
this.name = name;
}
}
泛型
泛型允许您创建可以与不同类型的数据一起工作的函数和类。例如,以下代码中,我们定义了一个map
函数,它可以将任何类型的数组转换为另一个类型的数组:
function map<T, U>(array: T[], f: (item: T) => U): U[] {
let result: U[] = [];
for (let i = 0; i < array.length; i++) {
result.push(f(array[i]));
}
return result;
}
命名空间
命名空间可以用于组织代码。例如,以下代码中,我们使用App
命名空间来组织Person
类和map
函数:
namespace App {
export class Person {
public name: string;
constructor(name: string) {
this.name = name;
}
}
export function map<T, U>(array: T[], f: (item: T) => U): U[] {
let result: U[] = [];
for (let i = 0; i < array.length; i++) {
result.push(f(array[i]));
}
return result;
}
}
类
类是创建对象的蓝图。类可以包含属性、方法和构造函数。例如,以下代码中,我们定义了一个Person
类:
class Person {
public name: string;
constructor(name: string) {
this.name = name;
}
public greet() {
console.log(`Hello, my name is ${this.name}.`);
}
}
元组
元组是一个固定长度的数组,其中每个元素都有一个特定的类型。例如,以下代码中,我们定义了一个Person
元组,其中包含name
和age
两个元素:
let person: [string, number] = ["John Doe", 30];
结语
TypeScript是一种强大的编程语言,可以帮助您编写更可靠、更可维护的代码。TypeScript非常适合构建大型和复杂的应用程序。