TypeScript知识点总结

TypeScript简介

TypeScript是一种由微软开发的开源编程语言,它扩展了JavaScript并添加了静态类型。在本篇博客中,我们将深入探讨TypeScript中一些重要的知识点,包括类型系统、接口、类、泛型、模块化等内容,帮助读者更好地理解和使用TypeScript。

1. 类型系统

TypeScript的类型系统允许开发者在编写代码时指定变量、参数和返回值的类型。这样做有助于捕获潜在的错误,并提高代码的可读性和可维护性。在类型系统中,包括基本类型(如number、string、boolean)、对象类型、数组类型、函数类型等等。

基本类型

number:表示数值,包括整数和浮点数。

string:表示字符串类型。

boolean:表示布尔类型,只能取truefalse

null 和 undefined:分别代表 null 和 undefined。

void:表示没有任何类型,通常用于标识函数没有返回值。

any:表示任意类型,在不清楚变量类型的情况下可以使用,但应尽量避免使用。

对象类型
const aikun: {
    name: string,
    age: number
} = {
    name: '坤坤',
    age: 18
}
console.log(aikun.name)
 数组类型
const arr : number [] = [1,2,3];
const aikun: String [] = ['坤坤','张三','李四'];
console.log(aikun)
类类型
class Person{}
const xm : Person = new Person();
console.log(xm);
函数类型
const j : () => string = ()=> {return '张三'};
console.log(j);

2. 接口

接口是TypeScript中非常重要的概念之一,它定义了对象的结构。通过接口,我们可以明确定义对象应该包含哪些属性以及它们的类型。接口也支持可选属性和只读属性,使得对象的形状更加灵活和安全。

interface name{
    name: string;
    age: number;
}
 
const aaa= (name: Name) => {
    console.log(name.name);
}
 
const data= {
    name: '小白',
    age: 99,
}
 
aaa(data);

3. 类

TypeScript引入了类的概念,使得面向对象编程更加方便。类支持继承、成员修饰符(public、private、protected)、抽象类等特性,同时还可以利用接口来实现类的多态性。

class Animal {
    name: string;

    constructor(name: string) {
        this.name = name;
    }

    move(distanceInMeters: number = 0) {
        console.log(`${this.name} moved ${distanceInMeters}m.`);
    }
}
继承
class Dog extends Animal {
    bark() {
        console.log('Woof! Woof!');
    }
}
访问修饰符
class Animal {
    private age: number;
    public name: string;
    protected color: string;
}
 抽象类
abstract class Department {
    constructor(public name: string) {}

    printName(): void {
        console.log('Department name: ' + this.name);
    }

    abstract printMeeting(): void; // 必须在派生类中实现
}
静态属性和方法
class Calculator {
    static PI: number = 3.14;

    static calculateCircumference(diameter: number): number {
        return diameter * this.PI;
    }
}

 4. 泛型

泛型是TypeScript的另一个重要特性,它使得代码可以在多种类型下重复使用。通过泛型,我们可以编写更通用的函数、类和接口,从而提高代码的灵活性和重用性。

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

 5. 模块化

TypeScript支持模块化的开发方式,允许我们将代码分割到多个文件中以提高可维护性。通过ES6模块系统的支持,TypeScript可以轻松地进行模块化开发,并使用import和export关键字来管理模块之间的依赖关系。

总结

        通过本文的概述,我们对TypeScript中一些重要的知识点有了初步的了解,但这只是冰山一角。TypeScript还有许多其他强大的功能和特性,如装饰器、异步编程等,都值得进一步学习和探索。TypeScript作为JavaScript的超集,具备强大的类型检查和面向对象编程能力,在现代Web应用开发中发挥着越来越重要的作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值