TypeScript学习笔记

TypeScript 是 JavaScript 的一个超集,它添加了静态类型系统和面向对象编程的概念。下面是一个简要的 TypeScript 学习笔记,帮助你入门和理解其核心概念。

1. 安装 TypeScript

你可以通过 npm(Node Package Manager)来安装 TypeScript:

npm install -g typescript

2. 基础类型

  • Number:用于表示数字。
  • String:用于表示文本。
  • Boolean:用于表示逻辑值:true 或 false
  • Array:用于表示数组。例如:let numbers: number[] = [1, 2, 3];
  • Tuple:元组类型允许表示一个已知元素数量和类型的数组。例如:let x: [string, number] = ['hello', 10];
  • Enum:枚举类型允许定义一个数值集合。

3. 变量声明

在 TypeScript 中,你可以使用 letconst 或 var 来声明变量,但推荐使用 let 和 const,因为它们提供了块级作用域。

let name: string = 'Alice';  
const age: number = 30; // age 不能再被重新赋值

4. 函数

在 TypeScript 中,你可以为函数参数和返回值添加类型。

function greet(name: string): string {  
  return 'Hello, ' + name;  
}

5. 类和接口

  • :TypeScript 支持基于类的面向对象编程。

    class Person {  
      name: string;  
      constructor(name: string) {  
        this.name = name;  
      }  
      greet() {  
        return 'Hello, my name is ' + this.name;  
      }  
    }

  • 接口:接口定义了一个类的结构,但不包含实现。它允许你定义对象之间应该如何交互。

    interface Animal {  
      name: string;  
      speak(): string;  
    }  
      
    class Dog implements Animal {  
      name: string;  
      constructor(name: string) {  
        this.name = name;  
      }  
      speak(): string {  
        return 'Woof!';  
      }  
    }

    6. 泛型

    泛型允许你定义可重用组件,这些组件可以工作于多种数据类型。

    function identity<T>(arg: T): T {  
      return arg;  
    }  
      
    let output1 = identity<string>("myString"); // output1 类型是 string  
    let output2 = identity<number>(123); // output2 类型是 number

    7. 类型断言

    有时,你会比 TypeScript 编译器更确定一个值的类型。你可以使用类型断言来告诉编译器你比它更确定。

    let someValue: any = "this is a string";  
    let strLength: number = (<string>someValue).length;  
    // 或者使用 as 语法  
    let strLengthAs: number = (someValue as string).length;

    8. 编译 TypeScript

    你可以使用 tsc 命令来编译 TypeScript 文件。例如,如果你有一个名为 app.ts 的 TypeScript 文件,你可以运行 tsc app.ts 来生成一个对应的 JavaScript 文件(app.js)。

    9. 其他特性

  • 模块:TypeScript 支持 ES6 模块语法。
  • 装饰器:装饰器是一种特殊类型的声明,它可以被附加到类声明、方法、属性或参数上。
  • 混入(Mixins):TypeScript 中的混入允许你创建一个类,该类同时包含多个类的功能。
  • 命名空间:命名空间用于组织代码,以避免命名冲突。但在 ES6 模块成为主流后,命名空间的使用已经减少。

    这只是一个简短的 TypeScript 学习笔记,涵盖了其核心概念。要深入学习 TypeScript,建议查阅官方文档和相关教程。

后续会持续更新分享相关内容,记得关注哦!

  • 34
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值