一、TypeScript 简介

TypeScript 是由微软开发的开源编程语言,是 JavaScript 的超集,添加了静态类型、接口、枚举、类等特性,使开发大型应用更安全、可维护、可扩展。最终会被编译为标准的 JavaScript 代码在浏览器或 Node.js 中运行。


二、安装前提条件

  • 已安装 Node.js(推荐使用 LTS 版本)
node -v
npm -v

如未安装,请访问 https://nodejs.org/ 下载并安装。


三、安装 TypeScript

3.1 全局安装(适合命令行使用)

npm install -g typescript

验证安装是否成功:

tsc -v

3.2 项目中安装(推荐)

在项目中执行:

npm install typescript --save-dev

四、编写第一个 TypeScript 程序

4.1 新建文件

创建 hello.ts 文件:

let message: string = "Hello, TypeScript!";
console.log(message);

4.2 编译为 JavaScript

tsc hello.ts

生成 hello.js

var message = "Hello, TypeScript!";
console.log(message);

运行:

node hello.js

五、初始化 tsconfig.json

使用配置文件管理项目编译设置:

tsc --init

生成 tsconfig.json 文件,可配置目标版本、模块系统、路径别名等。


六、TypeScript 特性示例

6.1 类型注解

let num: number = 123;
let str: string = "abc";
let isReady: boolean = true;

6.2 接口(Interface)

interface Person {name: string;age: number;
}let user: Person = {name: "小奇",age: 30
};

6.3 类(Class)

class Animal {name: string;constructor(name: string) {this.name = name;}speak() {console.log(this.name + " 发出声音");}
}

6.4 枚举(Enum)

enum Color { Red, Green, Blue }
let c: Color = Color.Green;

七、在 Web 项目中使用 TypeScript

7.1 安装依赖

npm install typescript --save-dev

7.2 配置构建工具(如 Webpack 或 Vite)

  • 使用 ts-loaderesbuild
  • 配置 tsconfig.json
  • 配合 React 可用 .tsx 文件

八、常见问题

Q1: 编译失败或找不到命令?

  • 检查是否正确安装 TypeScript
  • 使用 npx tsc 可避免找不到全局命令

Q2: tsconfig 配置无效?

  • 确保使用 tsc 时位于项目根目录
  • 或指定配置路径:tsc -p ./config/tsconfig.json

九、推荐工具和资源

编辑器插件

  • VS Code:推荐使用,内置 TypeScript 支持
  • 插件:TSLint、Prettier、Path Intellisense

学习资源

  • TypeScript 官网
  • TypeScript 中文文档
  • 菜鸟教程 TypeScript

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/87009.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87009.shtml
英文地址,请注明出处:http://en.pswp.cn/web/87009.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强化学习系列--dpo损失函数

DPO 概要 DPO(Direct Preference Optimization,直接偏好优化)是由斯坦福大学等研究团队于2023年提出的一种偏好优化算法,可用于LLM、VLM与MLLM的对齐训练。 算法基于PPO的RLHF基础上进行了大幅简化。DPO算法跳过了训练奖励模型这…

UniApp完全支持快应用QUICKAPP-以及如何采用 Uni 模式开发发行快应用优雅草卓伊凡

UniApp完全支持快应用QUICKAPP-以及如何采用 Uni 模式开发发行快应用优雅草卓伊凡 一、UniApp 对快应用的支持深度 UniApp 已完全支持快应用的开发和发布,具体包括: 两种渲染模式: Webview 渲染(快应用 Light 版)&a…

js 允许生成特殊的变量名 基于字符集编码混淆的 XSS 绕过漏洞 -- Google 2025 Lost In Transliteration

题目实现了一个字符转换工具 在/file路由用户可以通过 ct 参数自定义 Content-Type // 文件路由 - 提供静态文件服务(JS和CSS),支持内容类型验证 app.MapGet("/file", (string filename "", string? ct null, string?…

【仿muduo库实现并发服务器】LoopThreadPool模块

仿muduo库实现并发服务器 1.LoopThread模块1.1成员变量1.2构造函数13线程入口函数1.4获取eventloop对象GetLoop() 2.LoopThreadPool模块2.1成员变量2.2构造函数2.3配置线程数量2.4按照配置数量创建线程2.5依次分配Eventloop对象 1.LoopThread模块 这个模块是为了将EventLoop与…

华为云Flexus+DeepSeek征文|基于Dify构建文本/图像/视频生成工作流

华为云FlexusDeepSeek征文|基于Dify构建文本/图像/视频生成工作流 一、构建文本/图像/视频生成工作流前言二、构建文本/图像/视频生成工作流环境2.1 基于FlexusX实例的Dify平台2.2 基于MaaS的模型API商用服务 三、构建文本/图像/视频生成工作流实战3.1 配置Dify环境…

相机-IMU联合标定:IMU更新频率

文章目录 📚简介⚠️ IMU频率参数错误设置的影响❌ 相机-IMU联合标定失败:Optimization failed!🚀 确定IMU更新频率直接通过 rostopic hz 检查实际频率检查 IMU 驱动或数据手册从 bag 文件统计频率在这里插入图片描述修改 `update_rate` 的注意事项**最终建议****常见问题…

动手实践:如何提取Python代码中的字符串变量的值

要提取Python代码中所有变量类型为字符串的变量的值,但不执行代码(避免安全风险),可以通过静态分析代码的抽象语法树(AST)来实现。以下是完整的解决方案: 本文由「大千AI助手」原创发布&#xf…

Python中字符串isalpha()函数详解

在 Python 中,isalpha() 是字符串(string)类型的内置方法,用于检查字符串中的所有字符是否都是字母字符(alphabetic character)。以下是详细说明: 一、基本功能 返回值:布尔值&…

Gradio全解13——MCP详解(4)——TypeScript包命令:npm与npx

Gradio全解13——MCP详解(4)——TypeScript包命令:npm与npx 第13章 MCP详解13.4 TypeScript包命令:npm与npx13.4.1 概念区分1. npm概念与运行逻辑2. npx概念及特点 13.4.2 操作示例1. 使用npm执行包2. 使用npx执行包3. 常用npm命令…

《推客小程序全链路开发指南:从架构设计到裂变运营》

在移动互联网流量红利逐渐消退的今天,如何低成本获客成为企业营销的核心痛点。推客小程序作为一种基于社交关系的裂变营销工具,正成为企业突破增长瓶颈的利器。本文将为您全面解析推客小程序的开发定制全流程,帮助您打造专属的社交裂变营销平…

中钧科技参加中亚数字经济对话会,引领新疆企业数字化新征程!

6月27 日,乌鲁木齐成为数字经济领域的焦点,中国新疆 - 中亚国家数字经济和数字贸易企业对话会在此盛大举行。 来自中亚国家及新疆数字经济领域的100 余位核心代表齐聚一堂,围绕数字经济时代的机遇、挑战与策略展开深度探讨。 本次对话会由新…

k8s一键部署tongweb企业版7049m6(by why+lqw)

声明 1.此贴仅供参考,请根据自身需求在测试环境测试和修改。 安装准备 1.获取对应的安装包和授权,并将授权和安装包放在同一个目录下 2.docekr已配置远程仓库 3.提前拉取jdk的镜像(这里配置了使用openjdk:8) 安装 将以下内容复制到k8s_…

Qt 与 Halcon 联合开发六:基于海康SDK设计完整的相机类【附源码】

在现代工业自动化、机器人视觉、等领域,相机模块的作用至关重要。通过相机模块采集到的图像数据,我们能够进行一系列的图像处理和分析。为了高效地控制相机和处理图像,本篇文章将介绍如何使用Qt和Halcon联合开发一个相机模块,帮助…

第7篇:Gin模板引擎——服务端页面渲染

作者:GO兔 博客:https://luckxgo.cn 分享大家都看得懂的博客 引言 在Web开发中,服务端页面渲染(SSR)依然是构建动态网页的重要方式。Gin框架虽然以API开发见长,但也内置了强大的模板引擎支持,基于Go标准库的html/template包实现。本文将深入…

RagFlow 源码部署启动指南

一、环境准备 1. 安装 uv 和 pre-commit 如果已安装,可跳过。推荐使用官方方式安装,避免报错: pipx install uv pre-commit export UV_INDEXhttps://mirrors.aliyun.com/pypi/simple安装报错 使用清华源安装: pipx install uv…

【Python基础】12 闲谈分享:Python用于无人驾驶的未来

引言:一个程序员的自动驾驶梦想 还记得2016年的那个秋天,我第一次坐进特斯拉Model S的驾驶座,体验Autopilot功能。当方向盘开始自己转动,车辆在高速公路上自动跟随前车时,我的内心涌起了一种奇妙的感觉——这不就是我…

为什么js是单线程?

js单线程,同一时间只能做一件事 。js的单线程 主要与它的用途有关。作为浏览器脚本语言,js的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。如果js同时有两个线程,一个线程在…

DVWA靶场通关笔记-文件包含(Medium级别 9种渗透方法)

目录 一、文件包含 1、原因 2、危害 3、防范措施 二、代码审计(Medium级别) 1、渗透准备 (1)配置php.ini (2)file1.php (3)file2.php (4)file3.php…

飞云翻倍布林(翻倍密码系统四线布林版)双安全系统+均价趋势指标+日线周线MACD,组合操盘技术图文分享

如上图组合操盘套装指标,主图指标-翻倍密码系统四线布林版-飞云翻倍布林。副图指标1-均价趋势指标,跟踪市场均价走势和趋势;副图指标2-日线周线MACD指标,跟踪日线和周线两个级别的MACD多空走势以及共振与否。 主图指标-飞云翻倍布…

《汇编语言:基于X86处理器》第6章 条件处理(1)

本章向程序员的汇编语言工具箱中引入一个重要的内容,使得编写出来的程序具备作决策的功能。几乎所有的程序都需要这种能力。首先,介绍布尔操作,由于能影响CPU状态标志,它们是所有条件指令的核心。然后,说明怎样使用演绎…