当前位置: 首页 > news >正文

40、web前端开发之Vue3保姆教程(四)

五、TypeScript脚本

1、TypeScript 简介

1. 简介

TypeScript 是由微软开发的一种开源编程语言,它是 JavaScript 的超集,添加了可选的静态类型和基于类的面向对象编程。TypeScript 最终会被编译成 JavaScript,因此可以在任何支持 JavaScript 的环境中运行。

2. 优势

  • 静态类型检查:可以在编译时发现并纠正错误,减少运行时错误。
  • 更好的工具支持:IDE 可以提供更好的代码补全、重构和导航功能。
  • 面向对象特性:支持类、接口、泛型等,帮助构建更复杂的应用。
  • 可维护性:明确的类型定义使得代码更易读、更易维护。

3.类型系统

TypeScript 的类型系统允许开发者为变量、函数参数、返回值等定义明确的类型。类型系统包括基本类型(如 numberstringboolean)、对象类型、数组类型、联合类型、交叉类型等。

优点

  • 类型安全:减少类型错误,提高代码的健壮性。
  • 自动补全:IDE 可以根据类型定义提供智能补全。
  • 文档化:类型定义本身就是代码的文档。
  • 可重构性:类型信息使得代码重构更加安全。

4. TypeScript 和 JavaScript 的关系

TypeScript 是 JavaScript 的超集,意味着所有的 JavaScript 代码都是有效的 TypeScript 代码。TypeScript 添加了类型注解、接口、类等特性,使得开发者可以在编译阶段捕获更多错误。

2、TypeScript 基本语法

TypeScript 的基本语法包括:

  • 类型注解:例如 let name: string = "John";
  • 接口:定义对象的结构,例如 interface Person { name: string; age: number; }
  • :支持面向对象编程,例如 class Animal { constructor(public name: string) {} }
  • 函数:可以指定参数和返回值的类型,例如 function greet(name: string): string { return Hello, ${name}; }

1.基本数据类型和变量声明

TypeScript 的基本数据类型包括:

  • 布尔值boolean
  • 数字number
  • 字符串string
  • 数组number[]Array<number>
  • 元组[string, number]
  • 枚举enum Color { Red, Green, Blue }
  • 任意类型any
  • 空值nullundefined

变量声明示例:

let isDone: boolean = false;
let age: number = 25;
let name: string = "John";
let list: number[] = [1, 2, 3];
let tuple: [string, number] = ["age", 25];

2. 函数、类等高级语法的 TypeScript 实现

函数

function add(x: number, y: number): number {
   
  return x + y;
}

// 定义一个 TypeScript 类
class Person {
   
  // 公共属性 (public 可以省略,默认就是 public)
  public name: string;

  // 私有属性 (只能在类内部访问)
  private age: number;

  // 受保护的属性 (可以在类及其子类中访问)
  protected gender: string;

  // 构造函数,用于初始化对象的属性
  constructor(name: string, age: number, gender: string) {
   
    this.name = name;
    this.age = age;
    this.gend

相关文章:

  • tcp/ip攻击及防范
  • 7、nRF52xx蓝牙学习(nrf_gpiote.c库函数学习)
  • Spring 服务调用接口时,提示You should be redirected automatically to target URL:
  • 7.第二阶段x64游戏实战-分析人物属性
  • 软件需求分析习题汇编
  • PostGreSQL/openGauss表膨胀处理
  • Postman测试
  • [创业之路-364]:穿透表象:企业投资的深层逻辑与误区规避
  • 程序化广告行业(69/89):电商素材制作与展示策略解析
  • 程序化广告行业(71/89):ABTester与Tag Manager系统深度解析
  • Android学习总结之数据结构篇
  • <tauri><rust><GUI>基于rust和tauri,将tauri程序打包为window系统可安装的安装包(exe、msi)
  • TRUMPF PFG-RF RF Generators Operating instructions 操作使用说明
  • 【android bluetooth 框架分析 01】【关键线程 1】【关键线程介绍】
  • 2025 年江苏交安安全员考试:借助本地培训资源提升能力​
  • 集合计算高级函数
  • 图库项目开发 阶段二-图片优化
  • 数据结构与算法——链表OJ题详解(1)
  • 基于YOLO的半自动化标注方法:提升铁路视频缺陷检测效率
  • 如何避免“过度承诺”导致的验收失败
  • 网站设计特别好的公司/网站开发教程
  • 小企业如何优化网站建设/seo基础教程
  • 网站的c4d动画是怎么做的/谷歌商店paypal官网下载
  • 利用免费网站做SEO/域名收录
  • 国内网站开发语言/网络营销logo
  • 网站建设排名优化公司/微信怎么推广引流客户