TypeScript入门介绍

news/2024/11/15 15:09:00/文章来源:https://www.cnblogs.com/chi8708/p/18202716

目录
  • TypeScript入门介绍
    • 什么是 TypeScript?
    • 发展历史
    • 优缺点
    • 应用场景
    • 开发工具
      • 环境依赖
      • 编程IDE
      • vs调试
      • 构建工具/工程化
      • 步骤汇总
    • 第一个项目

TypeScript入门介绍

什么是 TypeScript?

1.1 TypeScript 是由微软开发的一种开源的编程语言。它是 JavaScript 的一个超集,通过为 JavaScript 提供静态类型检查,增加了代码的可读性和可维护性

发展历史

1.2 TypeScript 的历史和发展

TypeScript 最初由 Anders Hejlsberg 在微软开发,并于2012年首次发布。它的发展一直得到社区的积极支持,逐渐成为前端开发的主流选择。

1.3 TypeScript 与 JavaScript 的关系
TypeScript 是 JavaScript 的超集,意味着所有的 JavaScript 代码都可以在 TypeScript 中运行,同时 TypeScript 还提供了额外的语法和功能。

优缺点

1.4 为什么选择 TypeScript?

选择 TypeScript 的主要原因包括:静态类型检查、更好的代码提示和自动补全、更好的代码组织和维护性、更好的开发体验等。

1.5 TypeScript 的优势与劣势
TypeScript 的优势包括类型安全、智能代码提示、更好的代码组织结构等;劣势可能包括学习曲线较陡等。

应用场景

1.6 TypeScript 的应用领域

TypeScript 可以用于开发各种类型的应用程序,包括 Web 应用、Node.js 应用、移动应用、桌面应用等

开发工具

环境依赖

Node.js: TypeScript 编译器是基于 Node.js 构建的,因此需要先安装 Node.js。你可以从 Node.js 官方网站 https://nodejs.org/ 下载并安装适合你操作系统的 Node.js 版本。

npm install -g typescript

编程IDE

多种主流编辑器如Visual Studio Code、Sublime Text、Atom等都对 TypeScript 提供了良好的支持。

vs调试

launch.json

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "ts-node","type": "node","request": "launch","args": ["${relativeFile}"],"runtimeArgs": ["-r","ts-node/register"],"cwd": "${workspaceRoot}","protocol": "inspector","internalConsoleOptions": "openOnSessionStart"}]
}

构建工具/工程化

构建工具: 在实际项目中,通常会使用一些构建工具来处理 TypeScript 代码,比如 Webpack、Rollup、Vite 等。这些工具可以帮助你自动化构建过程、优化代码等。你可以根据项目需求选择合适的构建工具,并在项目中使用 npm 进行安装和管理。

步骤汇总

1.安装vs code

2.npm install -g typescript

3.运行tsc hello.ts。将ts编译为js文件

4.调试 npm install -D ts-node ,安装vs扩展 TS Debug。添加调试launch.json文件配置如下

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "ts-node","type": "node","request": "launch","args": ["${relativeFile}"],"runtimeArgs": ["-r","ts-node/register"],"cwd": "${workspaceRoot}","protocol": "inspector","internalConsoleOptions": "openOnSessionStart"}]
}

5.事实编译:在vs code中 选择终端→运行任务 输入ts 选中tsc:监控,将对ts生成js文件进行实时监控。

第一个项目

  1. 在vs中创建01hello.ts,代码如下
function sayHello(person:string){return `hello ${person}`;
}let user:string = 'Tom';
let r= sayHello(user);
console.log(r);

2.编译成JS 手动编译tsc 01hello.ts或自动编译运行任务tsc:监控。将生成01hello.js文件。

3.可以将01hello.js 拿到其他web页面使用。注:实际开发过程中,可能使用到构建工具如Webpack、Rollup、Vite 等,就不用运行步骤2和3了

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

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

相关文章

Shell编程之免交互

目录1.Here Document免交互2.Here Document常规用法(1)免交互执行命令(2)免交互创建并编辑文件内容(3)tee3.Expect免交互4.编写expect免交互脚本步骤5.read 1.Here Document免交互 使用I/O重定向的方式将命令列表提供给交互式程序 标准输入的一种替代品 命令 <<标记…

jupyter notebook无法找到自己的虚拟环境

1:打开cmd/Anaconda Prompt/Anaconda Powershell Prompt2:进入虚拟环境conda activate 环境名 3:conda list查看有无ipykernel包 如果没有,安装两个包:conda install nb_conda conda install ipykernel 如果下载不了将指令换成conda install nb_conda_kernels 注:conda/…

URLSearchParams:url查询处理工具

let params=new URLSearchParams(a=1&b=2&c=3#hash) 方法和属性: .get( ).has( )  //返回true/false .append(name,value)  //向URL中添加新的参数.set(name,value)  //设置指定参数的值,如果参数不存在则添加新参数 .delete(name)  //删除指定名称的参数 .k…

信息安全事件应急包好DVWA(finish)

​ *DVWA* *信息安全事件应急处理报告**皮包**公司* *20**24**年**5**月**20**日* ** ** 目 录 一、 概述 1.1 应急处理服务背景 1.2 应急处理服务目的 1.3 应急处理服务范围 1.4 应急处理服务依据 1.4.1 应急处理服务委托协议 1.4.2 基础标准与法律文件 1.4.3 参考文件…

P8624 [蓝桥杯 2015 省 AB] 垒骰子

原题链接 题解code #include<bits/stdc++.h> using namespace std; #define ll long long const ll mod=1e9+7; ll a[7][7]={0},e[7]={0};void cf1() {ll tem[7]={0};for(int i=1;i<=6;i++){for(int j=1;j<=6;j++){tem[i]+=a[i][j]*e[j];tem[i]%=mod;}}for(int i=1…

BLE+Compound复合设备

实现功能:BLE主从一体功能(centperi)添加USB复合设备(compound)。 思路:参考BLE_USB例程,该例程已经将BLE和模拟USB设备功能整合,并通过TMOS任务处理。将复合设备的报表替换BLE_USB的报表。 USB上传:

【Azure Storage Account】Azure 存储服务计算Blob的数量和大小的Python代码

问题描述 介绍一段Python脚本,可以在微软云中国区使用。 用于计算Azure Storage Account中Container中Blob类型文件的数量和大小,脚本中允许按照容器,层(热/冷/归档),前缀,软删除/非软删除来计算数量和容量大小, 默认使用的时间为以Blob的最后修改时间作为参考。 执行结果…

Scoket层

Scoket层 【一】Scoket层在哪【二】套接字工作流程一个生活中的场景。你要打电话给一个朋友,先拨号,朋友听到电话铃声后提起电话,这时你和你的朋友就建立起了连接,就可以讲话了。 等交流结束,挂断电话结束此次交谈。 生活中的场景就解释了这工作原理。【0】服务端流程先从…

提升效率必备VSCode运行快捷键全攻略

哈喽,大家好,我是木头左!快捷启航:打开你的代码世界 在编程的世界里,时间就是金钱。了解并熟练使用Visual Studio Code(简称VSCode)的运行快捷键,可以大大节省你的时间,让你更加专注于代码逻辑和创意实现。本篇文章将为你揭示那些鲜为人知但异常强大的VSCode运行快捷键…

逆向 | 驱动挂靠进程直接读内存

逆向 | 驱动挂靠进程直接读内存参考:https://cloud.tencent.com/developer/article/2358904 https://github.com/Whitebird0/driver_read_and_write/blob/main/04-读写内存/ReadMemory.c 代码如下: 代码不长但是有坑,比如说ExAllocatePool2的参数就跟之前不一样了,这个点我…

聊聊 JSON Web Token (JWT) 和 jwcrypto 的使用

哈喽大家好,我是咸鱼。 最近写的一个 Python 项目用到了 jwcrypto 这个库,这个库是专门用来处理 JWT 的,JWT 全称是 JSON Web Token ,JSON 格式的 Token。 今天就来简单入门一下 JWT。官方介绍:https://jwt.io/introduction 先聊聊 Token Token 的意思是令牌,通常用于身份…

CC2530 zigebee 实现低功耗

​ZigBee网络低功耗运行一直是苦逼攻城狮们要解决的问题,TI的CC2530可以说已经把终端的休眠功耗降低到了极致,现在我们就来体验这颗芯片的魅力!文章末尾分享完整源码和PCB工程文件。 一、CC2530供电模式 CC2530芯片有五种运行模式,分别为主动模式、空闲模式、PM1、PM2和PM3…